F#でリスト内包表記を実行しようとしています。そして、私はこれを見つけました。
let evens n =
{ for x in 1 .. n when x % 2 = 0 -> x }
print_any (evens 10)
let squarePoints n =
{ for x in 1 .. n
for y in 1 .. n -> x,y }
print_any (squarePoints 3)
最初のものはまだ問題なく動作しますが、2番目のものは時代遅れです。最新(1.9.7.8)のF#コンパイラはこのスタイルをサポートしていません。
いくつか検索した後、私はこれが機能することを発見しました
let vec1 = [1;2;3]
let vec2 = [4;5;6]
let products = [for x in vec1 do for y in vec2 do yield x*y]
構文が変更された理由を誰かが指摘できますか?ありがとう。