以下は私のコードの一部です。私はr#と呼ばれる部屋がたくさんあり、それぞれの行のリストに入れましたが、最後にこれらのリストをまとめて全室を含む大きなリスト。 私は別々のリストのリストを作るのではなく、すべての部屋のリストを作成しようとしています! 9行目は、私は、List.concat
使用リストをまとめて追加する方法F#
let r58 = {id=58;item=pot2;n=0;e=0;s=51;w=0;complete=false}
let r59 = {id=59;item=m13;n=60;e=0;s=55;w=0;complete=false}
let row11 = [r58;r59]
let r60 = {id=60;item=m8;n=61;e=0;s=59;w=0;complete=false}
let r61 = {id=61;item=m9;n=0;e=0;s=60;w=0;complete=false}
let row12 = [r60;r61]
let roomlist = row1::row2::row3::row4::row5::row6::row7::row8::row9::row10::row11::row12
roomlist
あなたは '使用してリストを追加することができます@': 'row11 @ row12 @ ... '。 – Lee
複数のリストがある場合、 'List.concat'は' @ 'を使うよりも優れています。 '@ '演算子は一度に2つのリストに作用するので、最初のリストを何回も通過します。 'a @ b @ c @ d'は最初に' a'と 'b'を加算した後、' ab'リストを取り出して 'c'を追加し、' abc'リストをとり、 'd'をそれ。 F#リストは連結リスト構造であり、頭から尾に到達するために反復されなければならないので、 'a'は4回反復されることを意味します。一方、 'List.concat'では、' a'は一度しか反復されません。だから、 'List.concat'は複数のリストの方が効率的です。 – rmunn