質問
私はそれのようなものを作りたい(nemerle構文)
def something =
match(STT)
| 1 with st= "Summ"
| 2 with st= "AVG" =>
$"$st : $(summbycol(counter,STT))"
F#では、F#で本物ですか?
解決
私があなたを正しく理解しているなら、パターンの一部として変数に何らかの値を割り当てたいと思います。 F#にはこれに対する直接的なサポートはありませんが、それを行うパラメーター化されたアクティブパターンを定義できます。
let (|Let|) v e = (v, e)
match stt with
| Let "Summ" (st, 1)
| Let "AVG" (st, 2) -> srintf "%s ..." st
ひも後 Let
パターンのパラメーターです(そしての値として渡されます v
)。次に、パターンは、バウンド値と元の値を含むタプルを返します(したがって、タプルの2番目のパラメーターの元の値と一致させることができます。
他のヒント
それに対する直接的なサポートはありませんが、このような効果を模倣することもできます。
let 1, st, _ | 2, _, st = stt, "Summ", "AVG"
sprintf "%s %a" st summbycol (counter, stt)
所属していません StackOverflow