2017-07-15 1 views
1

タイトルは私の質問です。具体的には、ワイルドカードはタプルの値と照合するときに重要です。セイロンのスイッチ式/ステートメントで使用するワイルドカードはありますか?

OCamlではことが可能である:ワイルドカードなしタプル値に対するマッチングを可能

match x with 
    (3, _) -> 5 | 
    (_, 4) -> 7 | 
    (4, 5) -> 6;; 

A 'スイッチ' contructは、有用ではありません。セイロンでは、スイッチが壊れていると思う。

答えて

1

いいえ、これはまだできません。タプルリテラル(case ([1, 2]))をマッチさせることができます。また、デストラクチャリング(case (is [Integer, Integer]) { value [i, j] = x; … }ではシンタックスシュガーであるcase ([Integer i, Integer j]))を使用できますが、リテラル値を使用して非構造化パターンとマッチさせることはできません。

+0

ocamlのパターンマッチングと同じ機能を実装する予定ですか? – user8311883

+0

私には分かりません。私はそれについていくつかの議論があったことを覚えていますが、私が見つけることができる現在公開されている問題のどれも 'case([1、x])'や 'case([1、Integer x]) 'のようには見えません。 –

+2

さて、最終的に 'case([1、x]) 'のようなものを許可する予定です。 –

関連する問題