easydb は結構便利だと思ったが、Rubyの命令文を完全に入力するのが面倒になってきた。そこでよく使いそうな命令は、メソッドのシンタックスシュガーでくるんでしまおうと思った。次のファイルをeasydb.rbからrequireすると、ソートや検索の入力の負担が激減する。
ファイル名: dbsugar.rb def select(table, col, pattern) table.select{|x| x[col] =~ pattern} end def gt(table, col, number) table.select{|x| x[col] > number} end def lt(tabel, col, number) table.select{|x| x[col] < number} end def ge(table, col, number) table.select{|x| x[col] >= number} end def le(table, col, number) table.select{|x| x[col] <= number} end def sort(table, col) table.sort{|x,y| x[col] <=> y[col]} end 実行例 Ruby$ ruby easydb.rb easydb> require 'dbsugar.rb' easydb> table, all = read('seiseki.txt') easydb> table.dump(all) name sugaku kokugo eigo A 90.0 65.0 55.0 B 46.0 50.0 50.0 C 63.0 63.0 58.0 D 50.0 40.0 48.0 E 55.0 32.0 40.0 easydb> sort(table, :kokugo).dump(all) name sugaku kokugo eigo E 55.0 32.0 40.0 D 50.0 40.0 48.0 B 46.0 50.0 50.0 C 63.0 63.0 58.0 A 90.0 65.0 55.0 easydb> sort(table, :kokugo).reverse.dump(all) name sugaku kokugo eigo A 90.0 65.0 55.0 C 63.0 63.0 58.0 B 46.0 50.0 50.0 D 50.0 40.0 48.0 E 55.0 32.0 40.0 easydb> gt(table, :eigo, 50).dump(all) name sugaku kokugo eigo A 90.0 65.0 55.0 C 63.0 63.0 58.0
by tnomura9
| 2008-09-17 06:54
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||