ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

Crystal

CrystalでOSを作ってみた

この記事は Crystal Advent Calendar 2016 の25日目の記事です。 OSと言っても、ブートして文字を表示してるだけですが・・・こんなんです。 リポジトリはこちら github.com 軽く自己紹介 普段はフリーランスのRailsエンジニア(無職ともいう) OS作りたい、…

【Crystal】ランダムな数の中から最も差が小さい2つの数を取得する

Crystal 0.20.0 crystal play上で実行 def closest_two_numbers xx, yy, dd = 0, 0, 0 dd = Float64::INFINITY seq = (1..100).map { Random.rand(10**10) }.sort.uniq seq.each_cons(2) do |cons| x, y = cons[0], cons[1] d = (x - y).abs if d < dd xx, y…

CrystalでMerge Sort

Crystal 0.20.0 こちらのRuby versionを参考にしました。 stackoverflow.com def merge_sort(array) return array if array.size <= 1 mid = (array.size / 2).round left, right = array[0...mid], array[mid..-1] merge(merge_sort(left), merge_sort(righ…

Crystalをインストールした際のトラブル - dyld: Library not loaded:~ & ld: library not found for -levent

Mac OS X(El Capitan) 10.11.5 Homebrew 0.9.9 そろそろCrystalの環境構築しなくてはと思い、 anyenvも入れた、crenvも入れた、そしてcrystal 0.17.3も入れたぞ・・・と思ったら $ crystal --version dyld: Library not loaded: @@HOMEBREW_PREFIX@@/opt/bdw…