プログラムをするとき、snippet は便利だ。動作テストの済んだ snippet をたくさん持っていると、コピペでプログラムを書くことができる。しかし、意外に snippet の管理は難しい。snippet の内容を忘れていることが多いし。cat でファイルの中身を見て、ruby foo.rb で実行して、vi の :r コマンドで取り込んでという手順が面倒だ。
このブログで掲載した、edit.rb を利用するとそんな snippet の管理が楽にできる。irb に require 'edit.rb' しておくと、snippet の作成が、foo = edit でワンタッチでできる。eval foo で動作確認ができるし、動作にエラーが出たときは、foo = edit(foo) で編集ができる。動作確認のできたプログラムは、save('foo.rb', foo) でファイルへの書き出しが、hoge = IO.read('foo.rb') でファイルからの読み込みができる。 ディスクの snippet のリストは、irb から system 'ls snippets/' のようにすれば取得できる。 また、変数へプログラムを読み込む利点は、irb から出ることなしに、複数の snippet の動作を確認することができることだ。foo と bar に別の snippet が入っていても eval foo、eval bar で実行できる。また、それぞれの内容は、puts foo、puts bar とすれば、すぐに確認できる。 irb に edit.rb を require すると、snippet を作りたくてたまらなくなる。 実行例は下のようになる。 Ruby$ irb irb(main):001:0> require 'edit' => true irb(main):002:0> hello = edit => "puts 'hello, world'\n" irb(main):003:0> puts hello puts 'hello, world' => nil irb(main):004:0> eval hello hello, world => nil irb(main):005:0> triangle = edit => "for i in 1..5\n for j in 1..i\n print '*'\n end\n puts\nend\n" irb(main):006:0> puts triangle for i in 1..5 for j in 1..i print '*' end puts end => nil irb(main):007:0> eval triangle * ** *** **** ***** => 1..5 irb(main):008:0> save('hello.rb', hello) => 20 irb(main):009:0> save('triangle.rb', triangle) => 61 irb(main):010:0> foo = IO.read('triangle.rb') => "for i in 1..5\n for j in 1..i\n print '*'\n end\n puts\nend\n" irb(main):011:0> eval foo * ** *** **** ***** => 1..5
by tnomura9
| 2008-09-21 07:48
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||