アルゴリズム・データ構造、他
ゆるコンピューターラジオを聴いていて(40時間Lispを勉強したら信者になれる?)、Lisp面白そうだなと思ったものの、違う言語を今からやる気力は無いので、僕がよく使っているRubyとの比較でいろいろ聞いてみました。 面白そう・・。 かなり前に勉強してみた…
DSLの仕様を記述する記法である拡張バッカス・ナウア記法(EBNF)と、Rubyで実際にその仕様を実装する方法について聞いてみました。 言語仕様の構成要素として,終端記号 (Terminal symbols)、非終端記号 (Non-terminal symbols)、導出記号 (::=):、選択 (|)…
ユーザー側からの入力を簡易プログラミング言語みたいにしたいと思うことがたまにあったので、DSLの作成方法を聞いてみました。 Rubyの場合は、特定のオブジェクトをレシーバーとしつつ、そのオブジェクトのコンテキストでブロック内のコードを実行させるins…
使おうと思ったときにいつも定義の仕方を忘れてしまうので、気になっていたことも合わせて聞いてみました。 RubyのStructについて教えてください。 Kotlinでdata classを使う文脈で使っても良いですか? Rubyでデータクラスに類似のクラスやオブジェクト使い…
Ruby1.9から、Rubyのハッシュは順序を保持しているそうで、組み込みのsort_byなどのメソッドを使ってソートもできるようです。 ただ、sort_byの戻り値はキーと値のペアの配列なので、さらに.to_hを呼び出す必要があります。 rubyのハッシュで、keyの順序を保…