人気ブログランキング | 話題のタグを見る

irb を shell として使う

edit.rb を使うと、irb 上で Ruby のプログラム開発ができるようになったので、irb から出るのが面倒くさくなった。それで、irb を shell として使う方法はないかといろいろと考えてみた。

まず、カレントディレクトリを表示してみた。

C:\Users\ganesh>irb
irb(main):001:0> Dir.pwd
=> "C:/Users/ganesh"

カレントディレクトリを変更した。

irb(main):002:0> Dir.chdir 'Ruby'
=> 0

カレントディレクトリのファイルのリストをとった。

irb(main):003:0> Dir.glob '*'
=> ["a.txt", "aa.txt", "aminoacid.rb", "aminoacid.txt", "array_grep.rb", "c2r.rb", "code.rb", "cv.rb", "easydb.rb", "easydb.txt", "easydb2.rb", "easydb2.txt", "edb.rb", "edit.rb", "names.txt", "open-uri.txt", "pick.rb", "picker.db", "redirect.rb", "sample.db", "sample.rb", "sample.txt", "seiseki.txt", "srb.rb", "stat.txt", "temp.txt", "to_array.rb", "ubin.db", "utf8com.rb"]

Dir クラスのメソッドのリストをとった。

irb(main):002:0> (Dir.methods - Class.methods).sort
=> ["[]", "chdir", "chroot", "delete", "entries", "foreach", "getwd", "glob", "mkdir", "open", "pwd", "rmdir", "unlink"]

ファイルをソートして表示した。

irb(main):005:0> puts File.readlines('aminoacid.txt').sort
Alanine ,Ala,A,nonpolar,neutral , 1.8
Arginine ,Arg,R,polar ,basic (strongly),-4.5
Asparagine ,Asn,N,polar ,neutral ,-3.5
Aspartic acid,Asp,D,polar ,acidic ,-3.5
Cysteine ,Cys,C,nonpolar,neutral , 2.5
Glutamic acid,Glu,E,polar ,acidic ,-3.5
Glutamine ,Gln,Q,polar ,neutral ,-3.5
Glycine ,Gly,G,nonpolar,neutral ,-0.4
........

ほかにもいろいろ面白いことができそうだが、今日はこれで。
by tnomura9 | 2008-11-14 22:48 | Ruby | Comments(0)
<< 2008年6月以降の記事 irb でリダイレクトを使う ... >>