前回のエントリーで値を返す返さないとかいう事を書いたが、それが1番分かりやすいのがインタラクティブシェルだ。
Pythonの場合は引数なしで起動、Rubyはirbでそれぞれインタラクティブシェルが使える。
irbで
>> name = "ken" => "ken" >> name => "ken"
Pythonで
>>> name = "ken" >>> name 'ken'
上の例ではirbの時は変数に代入した直後に値が返ってきている事が分かる。
Pythonのときは代入文自体は何も返していない。
特殊変数の値なんかもすぐに分かるので非常に重宝する
>> $/ => "\n"
>> require 'pp' => true >> pp $: ["/Library/Ruby/Site/1.8", "/Library/Ruby/Site/1.8/powerpc-darwin9.0", "/Library/Ruby/Site/1.8/universal-darwin9.0", "/Library/Ruby/Site", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin9.0", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0", "."] => nil
この機能Perlにも欲しいなあと思ってたらperlshというのがあった。
perl -MCPAN -e shell cpan> install Term::ReadLine::Gnu
これを実行し、インストールに成功すると
.cpan/build/Term-ReadLine-Gnu-1.17/eg/perlsh
と、こんなのが出来てる。
もしくは手動でダウンロードし、解凍したら
その中にegというフォルダがあってさらにその中にperlshというperlスクリプトが入っているので、これをパスの通った場所に移動してやると使えるようになる。
ただしこのファイル、1行目のshebang行が
#! /usr/local/bin/perl
となってるので、場合によっては書き換えなきゃならない。
僕の環境だと#! /opt/local/bin/perlだな。
いろいろ試してみよおっと。
カテゴリ:
トラックバック(0)
トラックバックURL: http://blog.beanz-net.jp/beanz_mtos/mt-tb.cgi/5
コメントする