From: Mitsuo KASAHARA Date: 2011-05-10T18:57:57+09:00 Subject: [ruby-list:48082] ruby1.9系でのdbiを使ったselect_allについて 笠原です。 時刻情報の計算の時は、本当に助かりました。 無事動くコードが出来て、せっかくなので最新の1.9系でも動かしてみようかと思った のですが、dbiを使ってDBにアクセスするところで1.8系と1.9系で挙動が異なり つまずいてしまっております。 [root@fedora work]# cat test.rb require 'rubygems' require 'dbi' dbh = DBI.connect("DBI:SQLite3::memory:") dbh.do("CREATE TABLE t1 ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT );") dbh.do("INSERT INTO t1 (name) VALUES ('name1') ;") dbh.do("INSERT INTO t1 (name) VALUES ('name2') ;") rows = dbh.select_all("SELECT * FROM t1;") p rows [root@fedora work] というテスト用のコードで [root@fedora work]# /usr/bin/ruby -v ruby 1.8.7 (2011-02-18 patchlevel 334) [i386-linux] [root@fedora work]# /usr/bin/ruby test.rb [[1, "name1"], [2, "name2"]] [root@fedora work] と1.8系で実行すると私の欲しい結果が得られるのですが [root@fedora work]# /usr/local/ruby/bin/ruby -v ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux] [root@fedora work]# /usr/local/ruby/bin/ruby test.rb [[2, "name2"], [2, "name2"]] [root@fedora work]# と1.9.2をダウンロードしてきてコンパイルすると上手く動きません。 なんで同じ結果が2つ出てくるの??? #自力ソースコンパイルにはこだわっていないので、fedora14に入るrpmパッケージが  あればそれを突っ込むことは何ら問題ないです。私が見つけられなかっただけです。 そもそも、rubyのコンパイルに失敗しているのか、私のコードが1.9用のコードとして 正しくないのか、何が悪いのか???という状態なのですが、 再度皆様のお知恵を拝借出来ませんでしょうか。 -- かさはら みつお