院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

2018-09-04から1日間の記事一覧

Real World OCaml を読み始める

Prologueを読んだ。 気が向いたら少しずつ読んでこう。ocamlを学ぶと他の言語を使っていても役に立つ考え方が身につくよ。 part1はocamlの基礎 part2はコマンドラインツールから非同期通信まで便利なツールを作るよ part3はコンパイラのシステムを説明するよ…

aux関数 少しまとめ

前からの結果が必要(回数を数えるcount, 経路を覚えとくpathList) ー> 補助関数を使う ー> countなどを引数として渡す(引数の意味はコメントに書いておくこと) 結果が複数あるもの ー> 結果が出たらaccに詰めて、引数として渡す ー> 最後にaccを返せば出…

reduceでいろいろつくる

reduceにもなれてきたからjavascriptの配列のメソッドをreduceで書いてみた let isDivided2 = el => { return el % 2 == 0 } let square = el => { return el * el } // every arr1.every(isDivided2) arr1.reduce((acc, cur) => (isDivided2(cur) ? acc : f…

ナイト巡回問題

お気楽 OCaml プログラミング入門ナイト巡回問題を解く。 ナイトの動けるマスをリストとして作っちゃえば深さ優先探索でできる。 だからこの前のやつの終了条件を少しいじればおk /* 3行4列盤 */ let adjacent = [ [5, 7], [6, 8], [3, 7], [2, 8, 10], [9…

魔法陣

お気楽 OCaml プログラミング入門魔法陣を解く。 魔法陣ではマスが9つで異なる数字を入れていく。 よって全パターンは9! これをフィルターで削っていく。この方針でやったところ9!を求めるとスタックオーバーフローが起こってしまった。 8!だと起こらなか…