プログラミング言語Ruby 1.9.Xについてのスレです。
2007年12月26日にリリース!されたもののまだまだ不安定だし,
1.8.Xとの互換性の問題もあることだし,
かといって,メーリングリストはほとんどROMだし(参加してないし),
ということで,1.9.Xオンリーのインストールからスクリプトまでの話題などどうぞ。
エラー,バグ報告もどしどし
■質問,話題を振る人へ
ポチッとな,とする前に次の3つのリンクを確認。
・http://svn.ruby-lang.org/repos/ruby/tags/v1_9_0_0/doc/NEWS
・http://svn.ruby-lang.org/repos/ruby/tags/v1_9_0_0/ChangeLog
・http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9 (参考)
未完だけど,マニュアルページもね(^^)
・http://doc.loveruby.net/refm/api/
質問には以下を書くこと。
・インストール環境(OS名、configureオプションなど)
・インストールの問題なのか、スクリプト自体の問題なのかを区別すること
・エラーメッセージ(なるべくそのままで)
・1.8.Xとの違いをできるだけ確認すること(1.8.Xでは実行できたとか)
質問と回答は1.9.X(いずれはRuby2.0)に寄与発展することになる!筈だ(^^)
魁け! Ruby 1.9.X
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2008/01/29(火) 19:45:46162155
2009/05/03(日) 16:07:29 >>161
>1.8でもできない。
えー?
だって、うちのデスクトップでVC2008でコンパイルできたし、
コンパイラとか入ってないActiveScriptRuby1.8.7だけインストールしてあるノートで動いてるよ?
ActiveScriptRubyってVC6だったよね・・・?
なんかはげしく勘違いしてるんかなー
>1.8でもできない。
えー?
だって、うちのデスクトップでVC2008でコンパイルできたし、
コンパイラとか入ってないActiveScriptRuby1.8.7だけインストールしてあるノートで動いてるよ?
ActiveScriptRubyってVC6だったよね・・・?
なんかはげしく勘違いしてるんかなー
163155
2009/05/03(日) 16:09:17 あ、書き忘れたけど1.9.1でもruby-1.9.1-p0-i386-mswin32とVC2008でコンパイル成功したよー
勘違いじゃなければだけど・・・。
勘違いじゃなければだけど・・・。
164155
2009/05/03(日) 23:05:37 わかった!
俺、VC2008のランタイムをスタティックリンクしてるから使えてるんだ!
しょぼしょぼな話題で連投失礼。お騒がせしましたwノシ
俺、VC2008のランタイムをスタティックリンクしてるから使えてるんだ!
しょぼしょぼな話題で連投失礼。お騒がせしましたwノシ
165デフォルトの名無しさん
2009/05/05(火) 17:54:40166155
2009/05/06(水) 13:49:22 >>165
>それだと外部ライブラリ使う拡張ライブラリが使えなくなるぞ。
ヘボくてゴメン、意味がわからないorz
Ruby本体(mswin32)・・・VC6ランタイムを動的参照
俺が作ったやつ・・・VC2008ランタイムを静的参照
VC6で作ったほかのライブラリ・・・VC6ランタイム(Ruby本体と同じやつ?)を動的参照
となって、問題があるようには思えないんだけど・・・
ActiveScriptRuby同梱のVisualuRubyも同時に使えてるし。
>それだと外部ライブラリ使う拡張ライブラリが使えなくなるぞ。
ヘボくてゴメン、意味がわからないorz
Ruby本体(mswin32)・・・VC6ランタイムを動的参照
俺が作ったやつ・・・VC2008ランタイムを静的参照
VC6で作ったほかのライブラリ・・・VC6ランタイム(Ruby本体と同じやつ?)を動的参照
となって、問題があるようには思えないんだけど・・・
ActiveScriptRuby同梱のVisualuRubyも同時に使えてるし。
167デフォルトの名無しさん
2009/05/06(水) 14:46:48 あぁ、拡張ライブラリだけをVC2008でスタティックリンクで、か。
config.hでエラーになるはずだけど、そこは当然書き換えてる?
外部に依存しない単独のライブラリなら動くかもしれんけど、
もう長いことDLLを使う形でしかコンパイルしてないから、
動くかどうか保証はできない。
config.hでエラーになるはずだけど、そこは当然書き換えてる?
外部に依存しない単独のライブラリなら動くかもしれんけど、
もう長いことDLLを使う形でしかコンパイルしてないから、
動くかどうか保証はできない。
168155
2009/05/06(水) 21:11:11 config.hははじめのところをコメントアウトしてる。
外部に依存しない単独のってことは、つまり、
俺がつくったやつから他のライブラリを参照しようとすると
うまくいかない可能性があるって感じかな。
VC6があれば問題なかったんだけど、
VC2008しか無いのに拡張ライブラリ作って公開しようと思うあたりが困ったちゃん。
外部に依存しない単独のってことは、つまり、
俺がつくったやつから他のライブラリを参照しようとすると
うまくいかない可能性があるって感じかな。
VC6があれば問題なかったんだけど、
VC2008しか無いのに拡張ライブラリ作って公開しようと思うあたりが困ったちゃん。
169デフォルトの名無しさん
2009/05/06(水) 22:04:43 もうみんなでmingw使おうぜ!
170デフォルトの名無しさん
2009/05/06(水) 22:40:26 やだよw
171デフォルトの名無しさん
2009/05/07(木) 18:30:12 155がやってるのは「たまたま動いてる」だけで、動くことは保証されない。
例えば、fd渡しがあって大きめのI/O操作したらアウト。
例えば、fd渡しがあって大きめのI/O操作したらアウト。
172デフォルトの名無しさん
2009/05/07(木) 18:42:22 fd渡しなら一切のI/Oでアウトだからやってないと思う。
でもまぁ、それでバイナリ配布とかはやめてね。
でもまぁ、それでバイナリ配布とかはやめてね。
173155
2009/05/07(木) 20:47:14 ランタイムに依存するデータはライブラリ間で渡せないっていうことかな・・・。
ふむふむ、勉強になりますφ(..)カキカキ
VC6ほしいなあー
ふむふむ、勉強になりますφ(..)カキカキ
VC6ほしいなあー
174デフォルトの名無しさん
2009/05/08(金) 03:22:53 VC6から移行すべきなんだが
175デフォルトの名無しさん
2009/05/08(金) 06:11:13 >>174
どういうこと? 今のrubyではVC6じゃないと動かないんじゃ?
どういうこと? 今のrubyではVC6じゃないと動かないんじゃ?
176デフォルトの名無しさん
2009/05/08(金) 09:29:42 pythonみたいに移行したほうがいいよ
誰かが音頭を取るべきだ
誰かが音頭を取るべきだ
177デフォルトの名無しさん
2009/05/08(金) 15:35:51 今移行しようとしてるとこだよ、mingwに。
178デフォルトの名無しさん
2009/05/11(月) 16:10:22 お前ら、1.9.1のパッチレベルリリースが間近らしいぞ。
問題あるなら今のうちに報告しとけよ。
問題あるなら今のうちに報告しとけよ。
179デフォルトの名無しさん
2009/05/11(月) 16:14:26 わかりやすいいこうまにゅあるおつけてくださいo
とくにがいじんさんにもなっとくできるえんこーでぃんぐのかいせつおつけてくださいo
っていうかせっとくもうやだ
とくにがいじんさんにもなっとくできるえんこーでぃんぐのかいせつおつけてくださいo
っていうかせっとくもうやだ
180デフォルトの名無しさん
2009/05/11(月) 16:15:49 エンコーディングまわりは、その方面で痛い目にあった経験がある
日本人にすら難しいのに。
日本人にすら難しいのに。
181デフォルトの名無しさん
2009/05/11(月) 16:23:24 がいじんさんは
先頭に # -*- coding: utf-8 -*- つけとけ
しか理解すまい
先頭に # -*- coding: utf-8 -*- つけとけ
しか理解すまい
182デフォルトの名無しさん
2009/05/11(月) 16:29:41 force_encodingが大活躍なんだが、ほかの対処方法はある?
183デフォルトの名無しさん
2009/05/11(月) 18:24:46 どういうデータを扱おうとしてるのか分からんことにはなんとも言いようがない。
外部からエンコーディングとデータが別々に渡されるんならそれこそ
force_encodingするしかないだろうし。
外部からエンコーディングとデータが別々に渡されるんならそれこそ
force_encodingするしかないだろうし。
184デフォルトの名無しさん
2009/05/11(月) 21:28:27 openするときエンコーディング指定してないだけだったりしてな。
185デフォルトの名無しさん
2009/05/13(水) 02:24:50 1.9.1-p129 age
186デフォルトの名無しさん
2009/08/12(水) 13:58:55 Macで1.9.1をソースからインストールしたのですが、標準添付されている
gemが上手く動きません。Digest::MD5が何かおかしいんだと思いますが、
具体的にはどうすればよいのでしょうか?
以下は gem install hogeしたときの表示です。
/Users/xxx/lib/ruby/1.9.1/rubygems/digest/md5.rb:8:in `require': dlopen(Users/xxx/lib/ruby/1.9.1/i386-darwin9.8.0/digest/md5.bundle, 9): Symbol not found: _rb_Digest_MD5_Finish (LoadError)
Referenced from: /Users/xxx/lib/ruby/1.9.1/i386-darwin9.8.0/digest/md5.bundle
Expected in: flat namespace
gemが上手く動きません。Digest::MD5が何かおかしいんだと思いますが、
具体的にはどうすればよいのでしょうか?
以下は gem install hogeしたときの表示です。
/Users/xxx/lib/ruby/1.9.1/rubygems/digest/md5.rb:8:in `require': dlopen(Users/xxx/lib/ruby/1.9.1/i386-darwin9.8.0/digest/md5.bundle, 9): Symbol not found: _rb_Digest_MD5_Finish (LoadError)
Referenced from: /Users/xxx/lib/ruby/1.9.1/i386-darwin9.8.0/digest/md5.bundle
Expected in: flat namespace
187デフォルトの名無しさん
2009/08/12(水) 14:49:05 dlは互換性なくなってるのだけど、hogeは1.9対応なの?
188デフォルトの名無しさん
2009/08/12(水) 14:50:54 ああん、あげてもーた。
189デフォルトの名無しさん
2009/08/12(水) 15:03:18 dlもhogeが1.9対応かどうかも関係ないだろ。
190デフォルトの名無しさん
2009/08/12(水) 15:04:21191デフォルトの名無しさん
2009/08/12(水) 17:43:13 >>186
1.9.1のrevisionは?
あとext/digest/md5/extconf.hはどうなってる?
ちなみにCONFIGURE_ARGS=--with-bundled-md5で試してみたところでは、
ちゃんと定義されてるようだ。
$ nm ext/digest/md5/*.o | grep -e MD5 -e :
ext/digest/md5/md5.o:
00000ed7 T _rb_Digest_MD5_Finish
00000d60 T _rb_Digest_MD5_Init
00000da5 T _rb_Digest_MD5_Update
ext/digest/md5/md5init.o:
U _rb_Digest_MD5_Finish
U _rb_Digest_MD5_Init
U _rb_Digest_MD5_Update
1.9.1のrevisionは?
あとext/digest/md5/extconf.hはどうなってる?
ちなみにCONFIGURE_ARGS=--with-bundled-md5で試してみたところでは、
ちゃんと定義されてるようだ。
$ nm ext/digest/md5/*.o | grep -e MD5 -e :
ext/digest/md5/md5.o:
00000ed7 T _rb_Digest_MD5_Finish
00000d60 T _rb_Digest_MD5_Init
00000da5 T _rb_Digest_MD5_Update
ext/digest/md5/md5init.o:
U _rb_Digest_MD5_Finish
U _rb_Digest_MD5_Init
U _rb_Digest_MD5_Update
192デフォルトの名無しさん
2009/08/12(水) 18:39:56 >>191
ruby-1.9.1-p243を使いました。
ext/digest/md5/extconf.hは次のようになっています。
#ifndef EXTCONF_H
#define EXTCONF_H
#define HAVE_CONFIG_H 1
#define HAVE_OPENSSL_MD5_H 1
#define HAVE_SYS_CDEFS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_UNISTD_H 1
#endif
ruby-1.9.1-p243を使いました。
ext/digest/md5/extconf.hは次のようになっています。
#ifndef EXTCONF_H
#define EXTCONF_H
#define HAVE_CONFIG_H 1
#define HAVE_OPENSSL_MD5_H 1
#define HAVE_SYS_CDEFS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_UNISTD_H 1
#endif
193デフォルトの名無しさん
2009/08/12(水) 22:47:49194デフォルトの名無しさん
2009/08/14(金) 14:54:55 >>192
OpenSSLのMD5を使うようになってるが、それだとmd5.hはインクルードしないので
#define MD5_Finish rb_Digest_MD5_Finish
は無効のはずなんだが。
まっさらの状態からコンパイルしてもそうなった?
OpenSSLのMD5を使うようになってるが、それだとmd5.hはインクルードしないので
#define MD5_Finish rb_Digest_MD5_Finish
は無効のはずなんだが。
まっさらの状態からコンパイルしてもそうなった?
195デフォルトの名無しさん
2009/08/17(月) 03:32:02 rubyって1.9になってから速くなったよね。たいしたもんだ。
196デフォルトの名無しさん
2009/08/17(月) 17:37:53 節子…、それ違う。Matzの実装が異様に遅すぎたから、普通の速度に戻しただけだ。
197デフォルトの名無しさん
2009/08/17(月) 17:39:35 普通の速度にしたというか、安全側から高速側に倒しただけ
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L
名言集 その4
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』
http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ のID:PVAf+dux0 = 自動焼人 ★
> 965 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:02:09.35 ID:PVAf+dux0
> まぁ何だ。
> 俺の過去の経歴に比べたら、割れ厨なんて鼻くそレベルなんだけどなw
> 100人規模の集団サイバーテロの主犯とか、いろいろとな。
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
名言集 その4
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』
http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/ のID:PVAf+dux0 = 自動焼人 ★
> 965 :以下、名無しにかわりましてVIPがお送りします [sage] :2009/08/10(月) 00:02:09.35 ID:PVAf+dux0
> まぁ何だ。
> 俺の過去の経歴に比べたら、割れ厨なんて鼻くそレベルなんだけどなw
> 100人規模の集団サイバーテロの主犯とか、いろいろとな。
----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください
199デフォルトの名無しさん
2009/08/17(月) 21:22:23200デフォルトの名無しさん
2009/08/17(月) 21:45:47 どういう職種でどういう用途でどのくらいの期間使うのかによる。
医療系の仕事ならやめとけ。
医療系の仕事ならやめとけ。
201デフォルトの名無しさん
2009/08/17(月) 21:51:33202デフォルトの名無しさん
2009/08/17(月) 21:53:09 医療…原子力制御…
Java並の安定性があるんだね!よかった!
Java並の安定性があるんだね!よかった!
203デフォルトの名無しさん
2009/08/17(月) 21:59:31 よーし、宇宙開発で使っちゃうぞ
204デフォルトの名無しさん
2009/08/17(月) 22:01:46 あの文言は素敵だと思う
考えた人はアジの技能あり
考えた人はアジの技能あり
205200
2009/08/18(火) 00:43:35 原発も詰めとこうかと思ったけどめんどくなってやめた。
そしたら>>201から狙い澄ましたようなボディブロー
そしたら>>201から狙い澄ましたようなボディブロー
206デフォルトの名無しさん
2009/08/21(金) 10:14:44 tmpfileに何があったの?
207デフォルトの名無しさん
2009/08/21(金) 10:32:45 見てきた。
http://redmine.ruby-lang.org/repositories/diff/ruby-19/lib/tempfile.rb?rev=23494&rev_to=22784
Tempfile#unlinkすると勝手にcloseするようになっちまってたのか。
これはひどい。だいたい、
lib/tempfile.rb (Tempfile#unlink): close first for Windows. a patch from Florian Frank. [ruby-core:23505]
とあるけど、これ全プラットフォームでこの動作になってるような。
UNIX厨のmatzが、なんでこんなパッチ採用したんだ……
http://redmine.ruby-lang.org/repositories/diff/ruby-19/lib/tempfile.rb?rev=23494&rev_to=22784
Tempfile#unlinkすると勝手にcloseするようになっちまってたのか。
これはひどい。だいたい、
lib/tempfile.rb (Tempfile#unlink): close first for Windows. a patch from Florian Frank. [ruby-core:23505]
とあるけど、これ全プラットフォームでこの動作になってるような。
UNIX厨のmatzが、なんでこんなパッチ採用したんだ……
208デフォルトの名無しさん
2009/08/22(土) 18:36:27 ああああああ、String#size の返り値が 1.8 と違うのか
まあそりゃそうだわな
あああああめんどくさああああ
というか 1.8.6 に String#bytesize とか入れておいてくれればよかったのに
まあそりゃそうだわな
あああああめんどくさああああ
というか 1.8.6 に String#bytesize とか入れておいてくれればよかったのに
209デフォルトの名無しさん
2009/08/22(土) 18:50:47 ASCII_8BITにするのがそんなに手間かね
210デフォルトの名無しさん
2009/08/22(土) 18:54:05 >>209
はい
はい
211デフォルトの名無しさん
2009/08/22(土) 18:57:32 レスから考えて1.8と1.9の共用スクリプトだろうからな
sizeのためにforce_encodingするとかまあありえんわ
というかASCII_8BIT厨は早く絶滅してくれないかなと思う
sizeのためにforce_encodingするとかまあありえんわ
というかASCII_8BIT厨は早く絶滅してくれないかなと思う
212デフォルトの名無しさん
2009/08/23(日) 10:23:40 >>209
そんな腐った修正ですますなんて、おまえ土方だな?
そんな腐った修正ですますなんて、おまえ土方だな?
213デフォルトの名無しさん
2009/08/23(日) 12:09:39 具体的にどう修正すべきかも書けよ
214デフォルトの名無しさん
2009/08/23(日) 12:21:03 RUBY_VERSION で場合分けする
安全確実高利回り
コードが若干長くてやや複雑で記述が煩雑になるのだけが極めてごく些細微細な欠点
安全確実高利回り
コードが若干長くてやや複雑で記述が煩雑になるのだけが極めてごく些細微細な欠点
215デフォルトの名無しさん
2009/08/23(日) 12:30:47 >>208
> というか 1.8.6 に String#bytesize とか入れておいてくれればよかったのに
1.8.7 には入ってるよ。
1.9 用とソースを共通化したいなら 1.8.6 はいい加減捨てよう。
> というか 1.8.6 に String#bytesize とか入れておいてくれればよかったのに
1.8.7 には入ってるよ。
1.9 用とソースを共通化したいなら 1.8.6 はいい加減捨てよう。
216デフォルトの名無しさん
2009/08/23(日) 12:31:58 respond_to?(:bytesize)
の方がいいと思う
の方がいいと思う
217デフォルトの名無しさん
2009/08/23(日) 13:03:09 >>214
それはないw
それはないw
218デフォルトの名無しさん
2009/08/23(日) 13:21:00 >>216
実際問題として、それではダメだ
こういう場合、特定の名前のメソッドがあるかどうかが問題なのではなく、
メソッドが「どう」動作するかが重要だから
あらゆるメソッドを responed_to? しなければならなくなるし、バージョン差異を埋めるのには向かないと思う
実際問題として、それではダメだ
こういう場合、特定の名前のメソッドがあるかどうかが問題なのではなく、
メソッドが「どう」動作するかが重要だから
あらゆるメソッドを responed_to? しなければならなくなるし、バージョン差異を埋めるのには向かないと思う
219デフォルトの名無しさん
2009/08/23(日) 13:58:48 Pythonじゃないんだから互換性なんて無視してRubyらしさを追求すればいいと思う。
220デフォルトの名無しさん
2009/08/23(日) 14:10:47 responed_to? がなんのために存在するメソッドか考えれば、1.8/1.9 判定に使うのが不適当とわかるはず
defined?(Encoding) とかも同様
Ruby 本体のバージョンが違うことが問題なんだから、素直にバージョン比較すればいいのに
なんでそこでだけ頑なに「Ruby としての読み下しやすさ」を否定した処理をしようとするのがよくわからん
defined?(Encoding) とかも同様
Ruby 本体のバージョンが違うことが問題なんだから、素直にバージョン比較すればいいのに
なんでそこでだけ頑なに「Ruby としての読み下しやすさ」を否定した処理をしようとするのがよくわからん
221デフォルトの名無しさん
2009/08/23(日) 14:20:59 if RUBY_VERSION >= 1.9.0 then … else … end という記述がヤボったくてカッコ悪いと思われてるのでは
なんかこう、超クールな処理になるようにすればみんな使ってくれるかも
1.8 系列だと読み飛ばすけど 1.9 系列だと処理するブロックとか
なんかこう、超クールな処理になるようにすればみんな使ってくれるかも
1.8 系列だと読み飛ばすけど 1.9 系列だと処理するブロックとか
222デフォルトの名無しさん
2009/08/23(日) 14:25:55 > 1.8 系列だと読み飛ばすけど 1.9 系列だと処理するブロックとか
if RUBY_VERSION < "1.9.0"
... # for Ruby 1.8
else
... # for Ruby 1.9
end
if RUBY_VERSION < "1.9.0"
... # for Ruby 1.8
else
... # for Ruby 1.9
end
223デフォルトの名無しさん
2009/08/23(日) 14:46:04 $Rv = RUBY_VERSION < "1.9.0" ? {1.8 => true} : {1.9 => true}
というグローバル変数を設定してるスクリプトなら見たことがある
if $Rv[1.8]
... # for Ruby 1.8
else
... # for Ruby 1.9
end
とか
(Ruby1.9専用処理) if $Rv[1.9]
とか使うらしい
というグローバル変数を設定してるスクリプトなら見たことがある
if $Rv[1.8]
... # for Ruby 1.8
else
... # for Ruby 1.9
end
とか
(Ruby1.9専用処理) if $Rv[1.9]
とか使うらしい
224デフォルトの名無しさん
2009/08/23(日) 14:50:33 よし構文と専用演算子の導入だ。
225デフォルトの名無しさん
2009/08/25(火) 02:53:38 RUBY_VERSIONで分岐すんなよ。消すぞ。
226デフォルトの名無しさん
2009/09/18(金) 23:28:08 【extname.rbの中身】
# -*- coding: utf-8 -*-
a = "記録.txt"
b = "設定.txt"
p File.extname(a)
p File.extname(b)
【実行】
C:\Usr\Ruby>ruby --version
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32]
C:\Usr\Ruby>ruby extname.rb
".txt"
"" ←.txtにならない
何ぞこれ
# -*- coding: utf-8 -*-
a = "記録.txt"
b = "設定.txt"
p File.extname(a)
p File.extname(b)
【実行】
C:\Usr\Ruby>ruby --version
ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32]
C:\Usr\Ruby>ruby extname.rb
".txt"
"" ←.txtにならない
何ぞこれ
227デフォルトの名無しさん
2009/09/19(土) 01:44:36228デフォルトの名無しさん
2009/09/19(土) 11:32:19 ちょっと調べてみた。
パス名関係はまだエンコーディングに対応してない。
常に外部エンコーディングと見なして処理してる。
より正確には、Windowsの場合はCharNextを使っているのでシステムのコードペー
ジの設定に依存する。
詳しく説明すると、UTF-8では「設定.txt」は
e8 a8 ad e5 ae 9a 2e 74 78 74
だが、
$ echo -e '\xe8\xa8\xad\xe5\xae\x9a.txt' | nkf -Swx
險ュ螳txt
\xadは半角ユなので1バイトずれて\x9a\x2eが一文字と認識されてしまう。
そして.が消えてしまってextnameは空になる。
パス名関係はまだエンコーディングに対応してない。
常に外部エンコーディングと見なして処理してる。
より正確には、Windowsの場合はCharNextを使っているのでシステムのコードペー
ジの設定に依存する。
詳しく説明すると、UTF-8では「設定.txt」は
e8 a8 ad e5 ae 9a 2e 74 78 74
だが、
$ echo -e '\xe8\xa8\xad\xe5\xae\x9a.txt' | nkf -Swx
險ュ螳txt
\xadは半角ユなので1バイトずれて\x9a\x2eが一文字と認識されてしまう。
そして.が消えてしまってextnameは空になる。
229デフォルトの名無しさん
2009/09/19(土) 13:37:15 なるほど。
しかも ruby -w で pathname.rb を読むと警告でる。
しかも ruby -w で pathname.rb を読むと警告でる。
230デフォルトの名無しさん
2009/09/19(土) 20:32:49 出ないぞ、と思ったら1.9.1か?
trunkでは直ってるようだ。
trunkでは直ってるようだ。
231デフォルトの名無しさん
2009/09/26(土) 21:11:40 へえ
232デフォルトの名無しさん
2010/01/03(日) 12:32:43 開けましておめでとうございます。
233デフォルトの名無しさん
2010/01/03(日) 12:45:41 空けましておめでとうございます。
234デフォルトの名無しさん
2010/01/03(日) 23:51:06 貫通けましておめでとうございます
姫初めはいかがでしたか?
姫初めはいかがでしたか?
235デフォルトの名無しさん
2010/03/21(日) 14:35:35 大量のオブジェクトが生成されるコードがあって、1.8.7で実行すると
非常に遅いんだけど、ちょっと手直しして1.9で実行すると大幅に
改善されたりしますか?
自分で試したいのはやまやまなんだけど、「ちょっと」の手直しが
どのくらいか不明なので、すいませんが教えてください。
非常に遅いんだけど、ちょっと手直しして1.9で実行すると大幅に
改善されたりしますか?
自分で試したいのはやまやまなんだけど、「ちょっと」の手直しが
どのくらいか不明なので、すいませんが教えてください。
236デフォルトの名無しさん
2010/03/21(日) 15:38:04 >235
DBから20万行取得するだけのスクリプトが3倍速になった。
DBから20万行取得するだけのスクリプトが3倍速になった。
237234
2010/03/21(日) 16:22:51 >236
本当ですか!?やっぱりスイッチする価値ありかなあ。
本当ですか!?やっぱりスイッチする価値ありかなあ。
238デフォルトの名無しさん
2010/03/21(日) 19:45:27 手直しが確実に必要なわけ?
試しに動かせないの?
試しに動かせないの?
239デフォルトの名無しさん
2010/03/21(日) 20:33:27 やってみないとわからないです(´・ω・`)
240デフォルトの名無しさん
2010/03/21(日) 21:08:44 手の施しようがないほど遅くなる場合もある
足し引きの結果が速くなるか遅くなるかは実際に動かさないと判断できない
足し引きの結果が速くなるか遅くなるかは実際に動かさないと判断できない
241234
2010/03/21(日) 21:25:53 >238
1.8系と1.9系の共存はできなくないらしいけど
なんかヘマをやってライブラリ関係が衝突しそうで怖いのです。
まあそんなこと言ってる時点で1.9は「待ち」ですかね。
>240
なんとそういうこともありますか。
ますます移行しにくくなりました。
Mac使いなんで、1.9がOSXにプリインストールされる
ようになったらまた考えます。
1.8系と1.9系の共存はできなくないらしいけど
なんかヘマをやってライブラリ関係が衝突しそうで怖いのです。
まあそんなこと言ってる時点で1.9は「待ち」ですかね。
>240
なんとそういうこともありますか。
ますます移行しにくくなりました。
Mac使いなんで、1.9がOSXにプリインストールされる
ようになったらまた考えます。
242デフォルトの名無しさん
2010/03/21(日) 22:36:36243デフォルトの名無しさん
2010/06/13(日) 23:32:10 エンコード指定uzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
マジックコメンkimeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
あのスマートだったruby君が理屈っぽいピザになってしまった。。。Railsとか言う奴のせいだ。
マジックコメンkimeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
あのスマートだったruby君が理屈っぽいピザになってしまった。。。Railsとか言う奴のせいだ。
244 ◆rT33C51l9k
2010/06/14(月) 00:11:52 マジックコメントはこんなことやれば一応は省略できるな
ruby -Ka filename.rb
ruby -Ku filename.rb
つうかまさかこのままマジックコメント付けることを義務化し続けるゴミ言語で突き進む気はないだろうな?
なんだろう。OSの文字コードの標準をUTF-8にしやがれっていう見えないプレッシャーでもかけてるつもりかねwww
ruby -Ka filename.rb
ruby -Ku filename.rb
つうかまさかこのままマジックコメント付けることを義務化し続けるゴミ言語で突き進む気はないだろうな?
なんだろう。OSの文字コードの標準をUTF-8にしやがれっていう見えないプレッシャーでもかけてるつもりかねwww
245デフォルトの名無しさん
2010/06/14(月) 10:03:15 おまえは馬鹿か?
マジックコメントが示すのは、ソースコードのリテラルがどの文字コードで書かれているか、だけだぞ極端に言うと。
マジックコメントが示すのは、ソースコードのリテラルがどの文字コードで書かれているか、だけだぞ極端に言うと。
246デフォルトの名無しさん
2010/06/14(月) 17:13:31 と、馬鹿がもう一人
247デフォルトの名無しさん
2010/06/16(水) 02:06:16 JAVAのエクリプスみたいなソフトって無いの?
Windowsで動くやつで
Windowsで動くやつで
248デフォルトの名無しさん
2010/06/16(水) 07:48:16 NetBeansを使えばいいと思うよ
ていうか、Eclipseにも確かRubyプラグインある
ていうか、Eclipseにも確かRubyプラグインある
249デフォルトの名無しさん
2010/07/02(金) 20:20:12 Ruby 1.9.1-p429 アゲ
250デフォルトの名無しさん
2010/07/14(水) 01:08:41 結構、言語処理系に行くっていうのが、はまりポイントで、
確か、Rubyのまつもとゆきひろさんか誰かがおっしゃっていたんですが、
「エンジニアっていうのはだいたいOSを作るか、
言語処理系を作るかに分かれる」らしいんです。
私はどっちにも足をつっこんでしまった感じで、
これは泥沼なんじゃないのかなとも思いますね(笑)
確か、Rubyのまつもとゆきひろさんか誰かがおっしゃっていたんですが、
「エンジニアっていうのはだいたいOSを作るか、
言語処理系を作るかに分かれる」らしいんです。
私はどっちにも足をつっこんでしまった感じで、
これは泥沼なんじゃないのかなとも思いますね(笑)
251デフォルトの名無しさん
2010/07/14(水) 08:36:24 Matzの頭にはCPUを作る方への分岐はないんだな
252デフォルトの名無しさん
2010/08/09(月) 23:53:11 アニメにはまる道もあるぞ。
253デフォルトの名無しさん
2011/01/12(水) 17:47:24 モジュール関数を呼ぶ時、
MyModule::mymethodと::で繋ぐのが好ましいんでしたっけ?
それともMyModule.mymethodという風に「.」で繋ぐ方が望ましいんでしたっけ?
これは確かどっかに書いてあって、それでどっちかに統一しなきゃな、って思ってたんだけど、
ruby久々に触ったら忘れてしまってた…。
これどっちだったか分かりますでしょうか?ちなみに理由も添えて教えてほしい
更に言えばどこに書いてあった、という情報源も提示していただきたいのです
「昔自分が書いたコード見ればいいだろ」と思うかも知れないけど、
その時は仕事で使ってたもので、自分が書いたコードも手元に無いのです
MyModule::mymethodと::で繋ぐのが好ましいんでしたっけ?
それともMyModule.mymethodという風に「.」で繋ぐ方が望ましいんでしたっけ?
これは確かどっかに書いてあって、それでどっちかに統一しなきゃな、って思ってたんだけど、
ruby久々に触ったら忘れてしまってた…。
これどっちだったか分かりますでしょうか?ちなみに理由も添えて教えてほしい
更に言えばどこに書いてあった、という情報源も提示していただきたいのです
「昔自分が書いたコード見ればいいだろ」と思うかも知れないけど、
その時は仕事で使ってたもので、自分が書いたコードも手元に無いのです
254デフォルトの名無しさん
2011/01/12(水) 18:45:14 クラスオブジェクトの特異メソッドを呼ぶときは、それ用の特殊な記法よりも、
<オブジェクトを示す式> . <メソッド名> のほうが Ruby の一般的な記法なので
それに合わせて、MyModule.mymethod のほうがよい。
:: は定数専用でしか使わないようにする。
<オブジェクトを示す式> . <メソッド名> のほうが Ruby の一般的な記法なので
それに合わせて、MyModule.mymethod のほうがよい。
:: は定数専用でしか使わないようにする。
255デフォルトの名無しさん
2011/01/12(水) 20:06:22 なぜ、定数なら :: なの?
256デフォルトの名無しさん
2011/01/12(水) 20:23:51 ::はそもそも定数の区切りとしての用途のもの。
モジュール名やクラス名も、値としてClassクラスやModuleクラスの
インスタンスを持つ定数に過ぎない。
MyModule.mymethod は単なる特異メソッドの呼び出しなのだが、
クラスやモジュールの得意メソッドはC++を背景に持つ人にはstatic
メソッドに見えるので、便宜を図って::でも呼べるようになってるだけ。
モジュール名やクラス名も、値としてClassクラスやModuleクラスの
インスタンスを持つ定数に過ぎない。
MyModule.mymethod は単なる特異メソッドの呼び出しなのだが、
クラスやモジュールの得意メソッドはC++を背景に持つ人にはstatic
メソッドに見えるので、便宜を図って::でも呼べるようになってるだけ。
257デフォルトの名無しさん
2011/01/12(水) 20:28:51 と書いておいて申し訳ないが、定数の区切りというのは正しくないか。
r = Regexp
r::EXTENDED #=> 2
とかアリだし。
r = Regexp
r::EXTENDED #=> 2
とかアリだし。
258253
2011/01/14(金) 09:09:02 回答ありがとう。確かに「.」が正しかった気がします。
ついでにもう一つ、perlには配列の最後の要素の添字を求めるのに $#foo という記法がありますが、
rubyでは foo.size-1 するしかないんだっけ?
なんかこれが美しくないので専用の記法(あるいはメソッド)が無いか調べてたんだけど、
多分これは無かった気がしたので無いんでしょうね
インクリメント、デクリメントも無いしね
ついでにもう一つ、perlには配列の最後の要素の添字を求めるのに $#foo という記法がありますが、
rubyでは foo.size-1 するしかないんだっけ?
なんかこれが美しくないので専用の記法(あるいはメソッド)が無いか調べてたんだけど、
多分これは無かった気がしたので無いんでしょうね
インクリメント、デクリメントも無いしね
259デフォルトの名無しさん
2011/01/14(金) 10:25:49 >>258
多分、無い。
perlの記法が美しいとは全く思えないんだけど、
class Array
def -@
size - 1
end
end
-[1,2,3] # => 2
みたいなことは、やろうと思えば出来る。
でも、last_indexとかのメソッドを作った方がいいだろうね。
多分、無い。
perlの記法が美しいとは全く思えないんだけど、
class Array
def -@
size - 1
end
end
-[1,2,3] # => 2
みたいなことは、やろうと思えば出来る。
でも、last_indexとかのメソッドを作った方がいいだろうね。
260デフォルトの名無しさん
2011/01/14(金) 11:13:26 添え字アクセスのときなら、負の数なら末尾から数えるんだけど(-1が末尾)、
それが実際にいくつになるかはsizeと相談するしかなさそうだな。
それが実際にいくつになるかはsizeと相談するしかなさそうだな。
261デフォルトの名無しさん
2011/01/14(金) 18:23:41 そこって初心者に聞かれたらなんて答えればいいんだろう。
Object#contantsの戻り値がHashとかだったら、構文糖衣だぜって言って終わりなのだが。
まあ、実装はHashなんだろうけど。
Object#contantsの戻り値がHashとかだったら、構文糖衣だぜって言って終わりなのだが。
まあ、実装はHashなんだろうけど。
262261
2011/01/14(金) 18:28:47■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 青森 緊急地震速報 [ぐれ★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★2 [冬月記者★]
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 ★2 [Hitzeschleier★]
- 地蔵 [268244553]
- コテと名無しのレクリエーション会場
- 公務員「税金が大幅に取れたので収益上がったんだから、俺らのボーナスも過去最高にする」 [359572271]
- ⌒*(・ω・)*⌒るるさん津波さねー
- NHK「津波の心配はありません」→直後に津波注意報 [455679766]
- 小野田紀美「今年の漢字は『推』!、推しが総理になりまして。推し活をした1年だったなあと」 [256556981]
