1と6のリビジョン間の差分 (その間の編集: 5回)
2011-06-21 12:56:22時点のリビジョン1
サイズ: 489
編集者: Naoaki Iwakiri
コメント:
2011-06-21 13:07:15時点のリビジョン6
サイズ: 991
編集者: Naoaki Iwakiri
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
*関数・論理型プログラミング実験/課題メモ/第8回 = 関数・論理型プログラミング実験/課題メモ/第8回 =
行 3: 行 3:
*boardについて == boardについて ==
行 7: 行 7:
reversi.mliを見ての通り、init_board変数です。関数ではないです。0引数関数ではないです。 reversi.mliを見ての通り、init_board変数です。関数ではないです。0引数関数ではないです。
行 9: 行 9:
つまり、当然ながら評価はされません。参照されるだけです。つまりput_stoneでboardを受け取ってboardを返す際に注意しないといけないです。 -- [[Naoaki Iwakiri]] <<DateTime(2011-06-21T12:56:22+0900)>> つまり、当然ながら評価はされません。参照されるだけです。<<BR>>put_stoneでboardを受け取ってboardを返す際に注意しないとこのinit_boardを編集する事になり、二試合目以降置ける手が無い盤面でスタートする事になります。 -- [[Naoaki Iwakiri]] <<DateTime(2011-06-21T12:56:22+0900)>>

{{{#!wiki comment
一度不変オブジェクトを作り、それを経由して新しいboardを作る、自前で関数を作りdeepcopyを行う、等々の方法が考えられます。
}}}

{{{#!wiki comment/dotted
部屋で見当違いの予想とかいろいろ大声で話してて恥ずかしい!! -- [[Naoaki Iwakiri]] <<DateTime(2011-06-21T12:58:42+0900)>>
}}}

関数・論理型プログラミング実験/課題メモ/第8回

boardについて

val init_board

reversi.mliを見ての通り、init_boardは変数です。関数ではないです。0引数関数ではないです。

つまり、当然ながら評価はされません。参照されるだけです。
put_stoneでboardを受け取ってboardを返す際に注意しないとこのinit_boardを編集する事になり、二試合目以降置ける手が無い盤面でスタートする事になります。 -- Naoaki Iwakiri 2011-06-21 12:56:22

関数・論理型プログラミング実験/課題メモ/第8回 (最終更新日時 2011-07-20 17:07:24 更新者 TakuyaKuwahara)