F# を始めたばかりです。私は今それと同じくらいひどいですが、同様のスレッドを検索することも知りません.
これは私がやろうとしていることです:
let test animal =
if animal :? Cat //testing for type
then "cat"
elif animal :? Dog //testing for type
then "dog"
elif animal = unicorn //testing value equality
then "impossible"
else "who cares"
基本的には、他の条件チェックとともに型テスト パターン マッチングが含まれます。最初の部分 (型チェック) は次のように実行できます。
let test(animal:Animal) =
match animal with
| :? Cat as cat -> "cat"
| :? Dog as dog -> "cat"
| _ -> "who cares"
1.上記の型テスト パターン マッチングに (最初の例のように) 同等性チェックを組み込む方法はありますか?
2.単一のパターン マッチング構造で実行されるこのような複数の種類のチェックは、F# サークルでは一般的に嫌われていますか?