rubyのerbで、
private method `gsub!' called for nil:NilClass
というエラーが解決せずに困っています。研究中。
Script Error private method `gsub!' called for nil:NilClass Backtrace (erb):33:in `komojifree' (erb):48:in `checkword' (erb):84 erb.cgi:36
解決=>nilであるべきでない変数を引数にする直前に、もしnil?ならば、to_sとかしてエラーを出さなくして続行させる。その結果、その変数を作成するルーチンがうまく機能していなかった。それはそれで解決していませんが、このエラー自体は解決。具体的にはこんな感じ。
wd = thinkword(before) if wd.nil? then wd.to_s end wd = komojifree(wd)
この例で言うと、komojifreeでエラーになったけど、ほんとのバグはthinkword()にある。パソコン上では大きな辞書をメモリーに読み込んでrandしたりeachしたりできるけど、erb上でやるときは少し制限が必要なようです。これはこれで課題。
以上