|
View:
New views
7 Messages
—
Rating Filter:
Alert me
|
|
|
[ruby-list:46517] Ruby1.8.8devでのsinatra動作について前川です。 Ruby1.8.8 dev sinatoraの動作確認をしたところ、エラーとなりました。 sinatraのダウンロード先 http://rubyforge.org/frs/?group_id=4415 sinatra動作確認の参考にしたページ http://gihyo.jp/dev/serial/01/ruby/0007 Rubyのバージョン D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser>ruby -v ruby 1.8.8dev (2009-09-18) [i386-mswin32] Rails関連のバージョン *** LOCAL GEMS *** actionmailer (2.3.4) actionpack (2.3.4) activerecord (2.3.4) activeresource (2.3.4) activesupport (2.3.4) mysql (2.8.1) rack (1.0.0) rails (2.3.4) rake (0.8.7) sinatra (0.9.4) sqlite3-ruby (1.2.5) Hello_188dev.rb(テストプログラム)の内容 #!D:/Ruby/bin/ruby.exe -Ks require 'rubygems' require 'sinatra' get '/' do 'Hello, world!' end Ruby1.8.8devでの実行結果;; D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser>ruby hello_188dev.rb D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4/lib/sinatra/base.rb:807:in `compile': undefined method `[]' for nil:NilClass (NoMethodError) from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:799:in `gsub' from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:799:in `compile' from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:772:in `route' from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:754:in `get' from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:1015 from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:849:in `configure' from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 /lib/sinatra/base.rb:1014 from D:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from D:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4/lib/sinatra.rb:4 from D:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from D:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from hello_188dev.rb:4 Ruby1.8.7p174では、問題なく、動作します。結果は、以下 D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser>ruby -v ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32] D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser>ruby hello_188dev.rb == Sinatra/0.9.4 has taken the stage on 4567 for development with backup from WEBrick [2009-11-05 10:25:32] INFO WEBrick 1.3.1 [2009-11-05 10:25:32] INFO ruby 1.8.7 (2009-06-12) [i386-mswin32] [2009-11-05 10:25:33] INFO WEBrick::HTTPServer#start: pid=1672 port=4567 127.0.0.1 - - [05/Nov/2009 10:28:07] "GET / HTTP/1.1" 200 13 0.0312 localhost - - [05/Nov/2009:10:28:06 東京 (標準時)] "GET / HTTP/1.1" 200 13 - -> / == Sinatra has ended his set (crowd applauds) [2009-11-05 10:28:28] INFO going to shutdown ... [2009-11-05 10:28:28] INFO WEBrick::HTTPServer#start done. D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser> よろしくお願いします。 Ruby1.8.8devは、使わないほうがいいでしょうか? あわせて、ご指導いただければ、助かります。 |
|
|
[ruby-list:46518] Re: Ruby1.8.8devでのsinatra動作について西山和広です。
At Thu, 5 Nov 2009 10:35:37 +0900, 前川 映一 wrote: > > D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4/lib/sinatra/base.rb:807:in > `compile': undefined method `[]' for nil:NilClass (NoMethodError) > from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 > /lib/sinatra/base.rb:799:in `gsub' > from D:/Ruby/lib/ruby/gems/1.8/gems/sinatra-0.9.4 > /lib/sinatra/base.rb:799:in `compile' このあたりの挙動の違いを調べてみたところ、whenでの*による配列の展開が おかしくなっているように見えます。 % cat a.rb special_chars = %w{. + ( )} case '.' when *special_chars p :expected else p :unexpected end % ruby1.8 -v a.rb ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] :expected % ruby18 -v a.rb ruby 1.8.8dev (2009-10-31 revision 25583) [x86_64-linux] :unexpected % ruby-trunk -v a.rb ruby 1.9.2dev (2009-10-29 trunk 25559) [x86_64-linux] :expected % > Ruby1.8.8devは、使わないほうがいいでしょうか? > あわせて、ご指導いただければ、助かります。 個人的には開発環境で動作確認対象の1つとして使うとか、 リリースされるまで1.8.8devを追いかけ続けるのが問題に ならない環境とかで使うのならいいのではないかと思います。 -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA) |
|
|
[ruby-list:46519] Re: Ruby1.8.8devでのsinatra動作について西山さん ありがとうございました。
> 個人的には開発環境で動作確認対象の1つとして使うとか、 > リリースされるまで1.8.8devを追いかけ続けるのが問題に > ならない環境とかで使うのならいいのではないかと思います。 1.8.8devは、動作確認のみにとどめることにします。 > % ruby1.8 -v a.rb > ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux] > :expected > % ruby18 -v a.rb > ruby 1.8.8dev (2009-10-31 revision 25583) [x86_64-linux] > :unexpected > % ruby-trunk -v a.rb > ruby 1.9.2dev (2009-10-29 trunk 25559) [x86_64-linux] > :expected > % 1.8.8devのみ、unexpectedですね。 1.9.2devでも正常に動作しました。 D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser>ruby hello.rb == Sinatra/0.9.4 has taken the stage on 4567 for development with backup from WEBrick [2009-11-05 11:39:50] INFO WEBrick 1.3.1 [2009-11-05 11:39:50] INFO ruby 1.9.2 (2009-07-18) [i386-mswin32] [2009-11-05 11:39:50] INFO WEBrick::HTTPServer#start: pid=736 port=4567 127.0.0.1 - - [05/Nov/2009 11:41:26] "GET / HTTP/1.1" 200 13 0.0000 localhost - - [05/Nov/2009:11:41:25 東京 (標準時)] "GET / HTTP/1.1" 200 13 - -> / [2009-11-05 11:41:33] ERROR Errno::ECONNRESET: 既存の接続はリモート ホスト に強制的に切断されました。 D:/Ruby/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `eof?' D:/Ruby/lib/ruby/1.9.1/webrick/httpserver.rb:56:in `run' D:/Ruby/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread' == Sinatra has ended his set (crowd applauds) [2009-11-05 11:41:53] INFO going to shutdown ... [2009-11-05 11:41:53] INFO WEBrick::HTTPServer#start done. D:\Apache2.2\htdocs\ruby_prg\em_ruby19\em_browser>ruby -v ruby 1.9.2dev (2009-07-18) [i386-mswin32] ruby1.8.8devそのものの問題で、sinatraではないのですね。 ありがとうございました。<m(_ _)m> 了 |
|
|
[ruby-list:46520] Re: Ruby1.8.8devでのsinatra動作について成瀬です。
2009/11/05 11:44, 前川 映一 wrote: >> ruby 1.8.8dev (2009-10-31 revision 25583) [x86_64-linux] >> :unexpected > ruby1.8.8devそのものの問題で、sinatraではないのですね。 はい、ruby1.8.8dev の問題でした。 r25658 で修正しました、報告ありがとうございました。 -- NARUSE, Yui <naruse@...> |
|
|
[ruby-list:46521] Re: Ruby1.8.8devでのsinatra動作について下記に関連して、
windows版のRuby1.8.8devを探しているのですが、 http://core.ring.gr.jp/archives/lang/ruby/binaries/mswin32/ でも見つかりません。 ruby1.8.8devは、どこで入手可能か、ご存知でしたら、ご教示ください。 (恥ずかしい話ですが、ダウンロードしたページを控えるのを、忘れてしまいまし た。) よろしくお願いします。 "NARUSE, Yui" <naruse@...> wrote on 2009/11/05 12:13:18: > 成瀬です。 > 2009/11/05 11:44, 前川 映一 wrote: > >> ruby 1.8.8dev (2009-10-31 revision 25583) [x86_64-linux] > >> :unexpected > > ruby1.8.8devそのものの問題で、sinatraではないのですね。 > はい、ruby1.8.8dev の問題でした。 > r25658 で修正しました、報告ありがとうございました。 |
|
|
[ruby-list:46522] Re: Ruby1.8.8devでのsinatra動作について成瀬です。
2009/11/05 13:34, 前川 映一 wrote: > 下記に関連して、 > windows版のRuby1.8.8devを探しているのですが、 > http://core.ring.gr.jp/archives/lang/ruby/binaries/mswin32/ > でも見つかりません。 > ruby1.8.8devは、どこで入手可能か、ご存知でしたら、ご教示ください。 > (恥ずかしい話ですが、ダウンロードしたページを控えるのを、忘れてしまいまし > た。) > よろしくお願いします。 開発版は公式には配布していません。 基本的にはソースコードから自分で作るもので、 以前はたまたま誰かが作ったのを入手したのでしょう。 使ってバグを見つけてくださるのはありがたいのですが、 基本的にはソースコードから自分でビルドできる人向けになりますね。 -- NARUSE, Yui <naruse@...> |
|
|
[ruby-list:46523] Re: Ruby1.8.8devでのsinatra動作について成瀬さん
ありがとうございました。 了解しました。 "NARUSE, Yui" <naruse@...> wrote on 2009/11/05 14:17:23: > 成瀬です。 > 開発版は公式には配布していません。 > 基本的にはソースコードから自分で作るもので、 > 以前はたまたま誰かが作ったのを入手したのでしょう。 > 使ってバグを見つけてくださるのはありがたいのですが、 > 基本的にはソースコードから自分でビルドできる人向けになりますね。 |
| Free embeddable forum powered by Nabble | Forum Help |