あのsixamoをWindowsベースのWebサーバ上で動かしたい
ソース:人工無能ししゃも / Rubyエンジン入手先:ここ経由でここを経由して、ここでダウンロード
即席でWindows用Rubyエンジンをインストール、sixamo.rbもダウンロード。辞書用のディレクトリを掘って初期化。
H:\sixamo>sixamo.rb --init ok H:\sixamo>
おお。なんか簡単にイキそうな予感。
が、実際にDOS窓で会話を初めてみると、日本語文字が化ける。ソースが EUC/LF だったので、何も考えずに TeraPad で ShiftJIS/CRLF に変換。ちゃんと表示されることを確認。OK。
が、実際にししゃもが返答しようとすると、以下のエラーが発生して止まってしまう。
H:/sixamo/sixamo.rb:740:in `split_into_terms': undefined method `[]' for nil:Nil Class (NoMethodError) from H:/sixamo/sixamo.rb:522:in `split_into_terms' from H:/sixamo/sixamo.rb:512:in `split_into_keywords' from H:/sixamo/sixamo.rb:235:in `talk' from H:/sixamo/sixamo.rb:233:in `each' from H:/sixamo/sixamo.rb:233:in `talk' from H:/sixamo/sixamo.rb:811
Rubyという言語には全く明るくないけど、split_into_terms メソッドの中の740行目にある [] あたりが正常に処理できなくて、その下に連なる箇所が連鎖的に動けなくなっている、と推測(ちなみに文字コードを変換する前のソースでも同じエラーが発生)。
さくっとググッてみたけど、Windows 上で sixamo.rb の動作に成功したような記事が見あたらないので自力解決に挑戦してみる事に。っていうか、これから Ruby の勉強を始めることになるわけですけどね!HAHAHA
出会いが既存コードのデバッグなんて、まるで初対面のヒロインに最悪の印象を持たれた主人公みたいなドキドキ感が(ADVに汚染されすぎ