[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 09:00 / Filesize : 51 KB / Number-of Response : 245
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

魁け! Ruby 1.9.X



1 名前:デフォルトの名無しさん [2008/01/29(火) 19:45:46 ]
プログラミング言語Ruby 1.9.Xについてのスレです。
2007年12月26日にリリース!されたもののまだまだ不安定だし,
1.8.Xとの互換性の問題もあることだし,
かといって,メーリングリストはほとんどROMだし(参加してないし),
ということで,1.9.Xオンリーのインストールからスクリプトまでの話題などどうぞ。
エラー,バグ報告もどしどし

■質問,話題を振る人へ
ポチッとな,とする前に次の3つのリンクを確認。
 ・svn.ruby-lang.org/repos/ruby/tags/v1_9_0_0/doc/NEWS
 ・svn.ruby-lang.org/repos/ruby/tags/v1_9_0_0/ChangeLog
 ・eigenclass.org/hiki.rb?Changes+in+Ruby+1.9 (参考)
未完だけど,マニュアルページもね(^^)
 ・doc.loveruby.net/refm/api/

質問には以下を書くこと。
 ・インストール環境(OS名、configureオプションなど)
 ・インストールの問題なのか、スクリプト自体の問題なのかを区別すること
 ・エラーメッセージ(なるべくそのままで)
 ・1.8.Xとの違いをできるだけ確認すること(1.8.Xでは実行できたとか)

質問と回答は1.9.X(いずれはRuby2.0)に寄与発展することになる!筈だ(^^)


195 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 03:32:02 ]
rubyって1.9になってから速くなったよね。たいしたもんだ。

196 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 17:37:53 ]
節子…、それ違う。Matzの実装が異様に遅すぎたから、普通の速度に戻しただけだ。

197 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 17:39:35 ]
普通の速度にしたというか、安全側から高速側に倒しただけ

198 名前:foi.americanprogress.org mailto:age [2009/08/17(月) 17:49:57 ]
自動焼人 ★ = 自動保守 ◆KAWORUKOFI = 自動保守#K9K?_D[L

名言集 その4
『俺、100人規模の集団サイバーテロの主犯だったこともあるんだぜ』

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人規模の集団サイバーテロの主犯とか、いろいろとな。


----------------------------------------------
この自動焼人 ★メールマガジンの配信停止をご希望される方は
qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
にて自動焼人 ★までご連絡ください

199 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:22:23 ]
>>197
ってことは、結構バグったりするのかしら?
仕事でruby使ってるんだけど、1.9.1に上げようか迷ってまふ。

200 名前:デフォルトの名無しさん [2009/08/17(月) 21:45:47 ]
どういう職種でどういう用途でどのくらいの期間使うのかによる。
医療系の仕事ならやめとけ。

201 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:51:33 ]
>>200
なるほど。医療系じゃなくてよかった。
うちは原発の制御しかしないので、速攻 1.9.1p129 に上げてみます。

202 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:53:09 ]
医療…原子力制御…
Java並の安定性があるんだね!よかった!


203 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 21:59:31 ]
よーし、宇宙開発で使っちゃうぞ



204 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:01:46 ]
あの文言は素敵だと思う
考えた人はアジの技能あり

205 名前:200 [2009/08/18(火) 00:43:35 ]
原発も詰めとこうかと思ったけどめんどくなってやめた。
そしたら>>201から狙い澄ましたようなボディブロー

206 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 10:14:44 ]
tmpfileに何があったの?


207 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 10:32:45 ]
見てきた。

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 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:36:27 ]
ああああああ、String#size の返り値が 1.8 と違うのか
まあそりゃそうだわな
あああああめんどくさああああ

というか 1.8.6 に String#bytesize とか入れておいてくれればよかったのに

209 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:50:47 ]
ASCII_8BITにするのがそんなに手間かね

210 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:54:05 ]
>>209
はい

211 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:57:32 ]
レスから考えて1.8と1.9の共用スクリプトだろうからな
sizeのためにforce_encodingするとかまあありえんわ
というかASCII_8BIT厨は早く絶滅してくれないかなと思う

212 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 10:23:40 ]
>>209
そんな腐った修正ですますなんて、おまえ土方だな?

213 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:09:39 ]
具体的にどう修正すべきかも書けよ



214 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:21:03 ]
RUBY_VERSION で場合分けする

安全確実高利回り
コードが若干長くてやや複雑で記述が煩雑になるのだけが極めてごく些細微細な欠点

215 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:30:47 ]
>>208
> というか 1.8.6 に String#bytesize とか入れておいてくれればよかったのに

1.8.7 には入ってるよ。
1.9 用とソースを共通化したいなら 1.8.6 はいい加減捨てよう。

216 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:31:58 ]
respond_to?(:bytesize)
の方がいいと思う

217 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:03:09 ]
>>214
それはないw

218 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:21:00 ]
>>216
実際問題として、それではダメだ
こういう場合、特定の名前のメソッドがあるかどうかが問題なのではなく、
メソッドが「どう」動作するかが重要だから
あらゆるメソッドを responed_to? しなければならなくなるし、バージョン差異を埋めるのには向かないと思う

219 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:58:48 ]
Pythonじゃないんだから互換性なんて無視してRubyらしさを追求すればいいと思う。

220 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 14:10:47 ]
responed_to? がなんのために存在するメソッドか考えれば、1.8/1.9 判定に使うのが不適当とわかるはず
defined?(Encoding) とかも同様

Ruby 本体のバージョンが違うことが問題なんだから、素直にバージョン比較すればいいのに
なんでそこでだけ頑なに「Ruby としての読み下しやすさ」を否定した処理をしようとするのがよくわからん

221 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 14:20:59 ]
if RUBY_VERSION >= 1.9.0 then … else … end という記述がヤボったくてカッコ悪いと思われてるのでは

なんかこう、超クールな処理になるようにすればみんな使ってくれるかも
1.8 系列だと読み飛ばすけど 1.9 系列だと処理するブロックとか

222 名前:デフォルトの名無しさん mailto:sage [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

223 名前:デフォルトの名無しさん mailto:sage [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]

とか使うらしい



224 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 14:50:33 ]
よし構文と専用演算子の導入だ。

225 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 02:53:38 ]
RUBY_VERSIONで分岐すんなよ。消すぞ。

226 名前:デフォルトの名無しさん mailto:sage [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にならない


何ぞこれ

227 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:44:36 ]
>>226
バグだろ。redmineに登録しといてくれ。


228 名前:デフォルトの名無しさん mailto:sage [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は空になる。


229 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 13:37:15 ]
なるほど。
しかも ruby -w で pathname.rb を読むと警告でる。

230 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 20:32:49 ]
出ないぞ、と思ったら1.9.1か?
trunkでは直ってるようだ。


231 名前:デフォルトの名無しさん [2009/09/26(土) 21:11:40 ]
へえ

232 名前:デフォルトの名無しさん [2010/01/03(日) 12:32:43 ]
開けましておめでとうございます。

233 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:45:41 ]
空けましておめでとうございます。



234 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 23:51:06 ]
貫通けましておめでとうございます
姫初めはいかがでしたか?

235 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 14:35:35 ]
大量のオブジェクトが生成されるコードがあって、1.8.7で実行すると
非常に遅いんだけど、ちょっと手直しして1.9で実行すると大幅に
改善されたりしますか?

自分で試したいのはやまやまなんだけど、「ちょっと」の手直しが
どのくらいか不明なので、すいませんが教えてください。

236 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 15:38:04 ]
>235
DBから20万行取得するだけのスクリプトが3倍速になった。

237 名前:234 mailto:sage [2010/03/21(日) 16:22:51 ]
>236

本当ですか!?やっぱりスイッチする価値ありかなあ。

238 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 19:45:27 ]
手直しが確実に必要なわけ?
試しに動かせないの?

239 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:33:27 ]
やってみないとわからないです(´・ω・`)

240 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 21:08:44 ]
手の施しようがないほど遅くなる場合もある
足し引きの結果が速くなるか遅くなるかは実際に動かさないと判断できない

241 名前:234 mailto:sage [2010/03/21(日) 21:25:53 ]
>238
1.8系と1.9系の共存はできなくないらしいけど
なんかヘマをやってライブラリ関係が衝突しそうで怖いのです。
まあそんなこと言ってる時点で1.9は「待ち」ですかね。

>240
なんとそういうこともありますか。
ますます移行しにくくなりました。

Mac使いなんで、1.9がOSXにプリインストールされる
ようになったらまた考えます。

242 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 22:36:36 ]
>>241
いちおう、MacPportsでruby19を入れるなら、デフォルトで異なる
場所に入るし、コマンドの名前も違うので混ざりはしない。


243 名前:デフォルトの名無しさん [2010/06/13(日) 23:32:10 ]
エンコード指定uzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

マジックコメンkimeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

あのスマートだったruby君が理屈っぽいピザになってしまった。。。Railsとか言う奴のせいだ。




244 名前: ◆rT33C51l9k [2010/06/14(月) 00:11:52 ]
マジックコメントはこんなことやれば一応は省略できるな
ruby -Ka filename.rb
ruby -Ku filename.rb

つうかまさかこのままマジックコメント付けることを義務化し続けるゴミ言語で突き進む気はないだろうな?
なんだろう。OSの文字コードの標準をUTF-8にしやがれっていう見えないプレッシャーでもかけてるつもりかねwww







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<51KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef