質問

私はそれのようなものを作りたい(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)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top