ocaml
前にpythonで書いてみたことがあったので、練習のためocamlでも書いてみた。 関連 : pythonで10進数からn進数に基数変換 - brainstorm プログラミングの基礎 (Computer Science Library)作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03メディア…
CodeEvalにUnique Elementsという問題があって、前にpythonで書いたので、練習のためocamlでも書いてみた。 ソート済みのintのリストから重複を除いて返せというもの。関連 : PythonでCodeEvalのUnique Elements - brainstorm
「プログラミングの基礎」をちょっとずつ読んでて2分探索木の走査がでてきたんで、pythonでも書いてみました。ocamlだとこう type tree_t = Empty | Leaf of int | Node of tree_t * int * tree_t (* 目的 : dataが2分探索木treeに含まれているかを調べる *)…
昨日、pythonとrubyについて書いたので、ocamlでどう書くか調べてみた。 こんな感じか (* 文字列を1文字ずつ分割してstring listにして返す*) (* split_string : string -> string list *) let split_string s = Str.split (Str.regexp "") s;; (* test *) l…
「プログラミングの基礎」で課題にエラトステネスのふるいが出てきたんで、pythonで同じように書いてみたプログラミングの基礎 (Computer Science Library)作者: 浅井健一出版社/メーカー: サイエンス社発売日: 2007/03メディア: 単行本購入: 17人 クリック:…
昨日のような簡単な再帰関数だとトレース結果もわかりやすいので、もうちょっと複雑なクイックソートのトレースを見てみました。 let rec quick_sort lst = let take n lst p = List.filter (fun item -> p item n) lst in let take_less n lst = take n lst…
再帰がわかりにくい場合#traceで呼び出しをトレースできる、ということを知りました。 let rec sum lst = match lst with [] -> 0 | first :: rest -> first + sum rest let test1 = sum [1;2;3;4;5] = 15 #trace 関数名;;でトレースを開始して、#untrace 関…
tuaregのついでにflymake-tuaregも入れてみました。設定これだけ init.el (require 'flymake-tuareg) (add-hook 'tuareg-mode-hook 'flymake-tuareg-load) 実行しなくてもエラーになってるのがわかるので便利。 以下はlstが空のときに0を返すべきところ[]を…
昨日の続きそういえば、mlファイルで日本語を入力してtuareg-eval-buffer(C-c C-b)すると、文字がちゃんと表示されません。シェル側でset-buffer-process-coding-systemでeuc-jpを指定すると直ります。
プログラミングの基礎を読んでるんで、写経したり、課題を解くのに、emacsでocamlを書く最低限の設定をしようと思いました。プログラミングの基礎 [ 浅井健一 ]ジャンル: 本・雑誌・コミック > PC・システム開発 > その他ショップ: 楽天ブックス価格: 2,484…