3

タプルが与えられた場合:

let tuple = (true, 1)

このタプルを条件付きで使用するにはどうすればよいですか?このようなもの:

if tuple.first then //doesnt work

また

if x,_ = tuple then // doesnt work

私はこれをしたくありません:

let isTrue value = 
   let b,_ = value
   b

if isTrue tuple then // boring

個別の関数を作成せずに、条件内のタプル値を評価するための優れた方法はありますか?

4

3 に答える 3

7

fst関数はここであなたを助けることができます。

タプルの最初の要素を返します

例:

let tuple = (true, 1)
if fst tuple then
    //whatever

snd2番目の要素にもあります。

別の方法は、パターンマッチングを使用することです。

let tuple = (true, 1)

let value = 
    match tuple with
    | (true, _) -> "fst is True"
    | (false, _) -> "fst is False"

printfn "%s" value

これにより、F#の非常に強力な構成である、より複雑なシナリオに一致させることができます。いくつかの例については、 MSDNドキュメントのタプルパターンを参照してください。

于 2012-05-17T15:19:56.200 に答える
3

あなたが探している関数は「fst」です。

let v = (true, 3)
if fst v then "yes" else "no"

「fst」はタプルの前半を取得します。「snd」は後半になります。

追加情報については、MSDNの情報がここにあります

于 2012-05-17T15:21:30.317 に答える
2

fst関数を使用できます。

if tuple |> fst then
    ...
于 2012-05-17T15:21:51.147 に答える