Rubyアプリケーションプログラミング
- 作者: 前田修吾,まつもとゆきひろ,やまだあきら,永井秀利
- 出版社/メーカー: オーム社
- 発売日: 2002/04/01
- メディア: 単行本
- 購入: 3人 クリック: 45回
- この商品を含むブログ (27件) を見る
サンプルプログラムで喰らったエラーなどをメモしておきます。動作環境は
ex03-2.rb (p.82)
#!/usr/bin/ruby word = ['print ', '"', 'Hello ', 'World', '\n', '"'] tmp = 'ex03-2a' file = [] (word.size + 1).times { # word から対応するファイル名を生成 file << tmp + '.rb'; tmp = tmp.succ } # 自分が何番目のファイルであるか i = file.index(File.basename(ENV['SCRIPT_NAME'])) action = file[i + 1] # 次に呼び出すスクリプト名
InternalServerErrorが発生
:13: undefined method `+' for nil:NilClass (NoMethodError)
デバッガで見るとiの中身がnullになっているのがわかった。ファイル名がex03-2.rbなのにtmpで代入しているのがex03-2aなのがまずいらしい。さらに、付録CDROMにはex03-2a.rb,ex03-2bなどsuccで生成されるファイルが用意されていない。このサンプルプログラムは実行せずに、ソースを眺める用のものと理解。