OCamlは基礎はできるようになったので、Haskellに再度挑戦してみる。何回目かは忘れました。
一番問題も解いていない。
火星着陸ゲームに挑戦
エピソード1は実は簡単で落下速度が着陸時に規定速度を越えなければOK
プログラムを書いたのは25行目と26行目だけ
しかしこれだけでもけっこう時間かかっています。
ついでにSwiftもGOLD(7問解 . . . 本文を読む
ようやく何かがつかめてきたOCaml。ここでホッとして次に行くと、あっという間に忘れてしまう。
そんな気がしたのでもう少し問題を解いて たたきこんでみることにしました。
4年ぐらい前に別の言語で解いた問題を解析しながら、
Don't Panic - Episode 1
何をしているかというと、ロボットがフラフラと上に移動するために
各フ . . . 本文を読む
昨日から問題は解けず。スプラ2三昧
ふと最初の勤めた会社の社長にいただいた「心に革命を起こせ」をパラパラとみる。
OCamlは無理だと絶望しつつあった日曜の22:30
タイマーを2時間に設定して挑戦してみる。
mapを使おうとしているがどうにもうまく使えない30分は空虚に時が過ぎ
hashtblのサンプルを見つける。これで少し進める。
作成後、取得できない場合、例外対応 . . . 本文を読む
リストに数値を追加してソートさせそれを表示させることはできました。
しかしループを回してリストに取得した値を追加することができず理由もサッパリわかりませんでした。
1時間ぐらいは悩んだ末わかったことは、
ループの中で再定義した同じ名前の器はそのループ中の世界で一回だけしか生存しないということ
ループの外で再定義されたはずの名前の器はそのループの世界の外では生存しているという . . . 本文を読む
はまった理由は参照refの使い方
まずはグルグル
どうにもできなくて解答を探してみる。
参照型の定義と最期の結果表示を参考に
ここでは参照型のmxにx+1を代入しようとしてダメとおこられている(エラー表示部分が見切れている)
ここでは関数ではないとおこられているらしい。
2時間ぐらいかけてやっと成功
スペースが必要な部分 . . . 本文を読む
この言語をマスターするためにはまず記号から見直さないといけない。
けっこう違う。
まず数値などが同じは =
==はポインタが同じ(同じ場所に格納された同じ値)
違う時は <>
!=はポインタが違う
+.で足せるのはfloat
floatとintは足せない。
(float_of_int 1) はint の1を floatの1.0に変換する。 toで . . . 本文を読む
OCamlという世界を訪れたのは記録によると2020年12月2日らしい。
OCamlの日本語サイトをみるとここが中々の暗黒大陸ということがわかる。
リストの作成から
リストの前に追加のサンプルがあったので後ろにしてみたらダメでした。
あとソートのサンプルが使えません。バージョンが古いと思っていたら、
実はその前にsortの関数があってそれを打ち込ん . . . 本文を読む