注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
何故か書いてしまったduck typing (Haskell,存在型+型クラス) うおおぉぉ!まさにこれだ! ゲームに出て... 何故か書いてしまったduck typing (Haskell,存在型+型クラス) うおおぉぉ!まさにこれだ! ゲームに出てくるオブジェクトを型をあれこれ構わずリストにぶち込んで更新処理や描画処理をぶん回す、みたいな作り方をよくすると思う。C++とかだったら基底型を作って仮想関数を定義してそれを呼び出しという具合で。でも Haskell だとリストには同一の型しか入れられないのでどうしようかと悩んでたところ。 普通に考えられるのは代数的データ型を使って、すべてをひとつのデータ型にしてしまうやり方: data GameObject = Kuribo | Nokonoko | … Monadius がこういうやり方。けどそれぞれの型による関数の分岐を書くのに問題があって、関数ごとに処理を1ヶ所に書かないといけないのでソースを分けづらい: update Kuribo = あれこれ update N
2009/03/01 リンク