sml - Is it possible to do pattern matching without case? -
i'm still learning sml, apologies if rather dumb question. wondering if there better way pattern matching on constructs outside of functions.
for example, let's have type
type coord = int * int * int and have value b of type coord. understand can pattern matching in functions, example:
fun get_x_coord ((x, y, z) : coord) = x but let's we're working b inside of function not given parameter. feel doing
case b of (x,y,z) => (* stuff *) is rather clunky if have single result want (for example know there 3 integer values , want isolate them).
is there better way this?
sure - can use pattern matching in val-bindings too, this:
fun foo (b : coord) = let val (x, y, z) = b in (* stuff *) end
Comments
Post a Comment