[prime-dev: 519] Re: prime-0.8.5.1 のエラー

Back to archive index

Hiroyuki Komatsu komat****@taiya*****
2004年 12月 16日 (木) 18:23:08 JST


小松です。

原因究明にちょっとおつきあいください。
Ruby で以下を実行するとどうなりますでしょうか?

class Array2 < Array
end

a = Array2.new()
p a.class


Array2 が出力されるなら、対処療法ですが、以下のようにすればエラーは
出なくなると思います。

  def lookup_compact (string)
    words_compact = search_compact(string)
    words = PrimeWordList::attach_prefix(@context, words_compact)
    return PrimeWordList.new(words)   # ←ここ
  end

--
                                                            小松弘幸
                                                -----------------------
                                                   http://taiyaki.org/



At Thu, 16 Dec 2004 17:58:35 +0900,
Masaki Yatsu wrote:
> 
> [1  <text/plain; ISO-2022-JP (7bit)>]
> 谷津です。
> 
> On 04.12.16 5:34 PM, Hiroyuki Komatsu wrote:
> 
> > ご報告ありがとうございます。
> > こちらの環境では、エラーになりませんでした。
> 
> そうですか。
> Mac OS X + MacUIMの環境で使用しているので、なにかおかしなこと
> をしてしまっているのかもしれません。
> 
> > 以下のことを試していただけますでしょうか。
> > 
> > ・環境変数 PRIME_DEBUG に値を入れて gedit などを実行すると、~/.prime/logs/
> >   以下にログが作成されますので、そのログをいただけますか?
> > 
> >   ~% PRIME_DEBUG=1 gedit
> 
> 添付しました。
> 
> > ・~/.prime/suikyo.rbo を削除するとどうなりますか?
> 
> 変化ありませんでした。
> 
> > ・コマンドラインから prime を実行して "lookup<tab>ttt" を実行すると
> >   どうなりますか?
> 
> 以下のようになります。
> 
> $ /Library/PRIME/bin/prime
> lookup  ttt
> /Library/PRIME/lib/ruby/prime/session.rb:221:in `lookup': undefined method
> `to_text' for []:Array (NameError)
>         from /Library/PRIME/lib/ruby/prime/session.rb:115:in `send'
>         from /Library/PRIME/lib/ruby/prime/session.rb:115:in `send_command'
>         from /Library/PRIME/lib/ruby/prime/session.rb:102:in `execute'
>         from /Library/PRIME/lib/ruby/prime/server.rb:27:in `session_loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:26:in `synchronize'
>         from /Library/PRIME/lib/ruby/prime/server.rb:26:in `session_loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:24:in `loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:24:in `session_loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:99:in `start'
>         from /Library/PRIME/bin/prime:146:in `main'
>         from /Library/PRIME/bin/prime:168
> 
> > ・ソース中の lib/prime.rb Line:202 からの lookup_compact に以下のデバッグ
> >   コードを入れて、コマンドラインから prime を実行して "lookup<tab>ttt"
> >   と入力するとどうなりますか?
> > 
> >   def lookup_compact (string)
> >     words_compact = search_compact(string)
> >     words = PrimeWordList::attach_prefix(@context, words_compact)
> >     p string
> >     p words_compact
> >     p words_compact.class
> >     p words
> >     p words.class
> >     return words
> >   end
> 
> 以下のようになります。
> 
> $ /Library/PRIME/bin/prime
> lookup  ttt
> "ttt"
> []
> Array
> []
> Array
> /Library/PRIME/lib/ruby/prime/session.rb:221:in `lookup': undefined method
> `to_text' for []:Array (NameError)
>         from /Library/PRIME/lib/ruby/prime/session.rb:115:in `send'
>         from /Library/PRIME/lib/ruby/prime/session.rb:115:in `send_command'
>         from /Library/PRIME/lib/ruby/prime/session.rb:102:in `execute'
>         from /Library/PRIME/lib/ruby/prime/server.rb:27:in `session_loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:26:in `synchronize'
>         from /Library/PRIME/lib/ruby/prime/server.rb:26:in `session_loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:24:in `loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:24:in `session_loop'
>         from /Library/PRIME/lib/ruby/prime/server.rb:99:in `start'
>         from /Library/PRIME/bin/prime:146:in `main'
>         from /Library/PRIME/bin/prime:168
> 
> ---
> 谷津真樹 (Masaki Yatsu)
> mailto:yatsu****@yatsu*****
> 
> [2 debug_200412161743_1215.log <application/octet-stream (base64)>]
> 
> [3  <text/plain; iso-2022-jp (7bit)>]
> _______________________________________________
> Prime-dev mailing list
> Prime****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/prime-dev




Prime-dev メーリングリストの案内
Back to archive index