1 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:07:47 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 まったりと行きましょう。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 36 pc12.2ch.net/test/read.cgi/tech/1246174168/ 過去スレ・関連スレは >>2-
321 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 22:32:07 ] >>314 そうだったのか〜 でも、なぜMswin版rubyだと落ちないのでしょうか Win32API呼び出しが一回や二回ならスタックが元に戻ることが多いけど(で、たまたまうまく動く) 連続してコールバックで呼び出されるとスタックが正常に戻る機会が無く ドンドンずれていってメモリ破壊が起こるってことでしょうか? 普通だったらWin32APIを使うところですが コールバックできないのでdlを使いました ググったら dlを使ったサンプルがあったので 1.9のdl(dl2)では 呼び出し規約の指定も出来て Win32APIは単なるdlのラッパーになってますね
322 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 23:34:52 ] Win32APIより、win32/api
323 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 01:01:23 ] >>321 > でも、なぜMswin版rubyだと落ちないのでしょうか 知らん。アセンブラ吐かせて確認してみな。
324 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 03:29:03 ] Net::HTTP の open_timeout と read_timeout の初期値が nil なのはなんで?
325 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 04:12:16 ] >>324 簡単だからソース読んでみ
326 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 05:48:16 ] Ruby 1.9の本もやっぱり海外のほうが早いのか Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby) www.amazon.com/dp/1934356085/
327 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 08:29:14 ] まあ、TCPSocket.open のタイムアウトをカウントダウンで待つ必要はないわな 1 秒とかに設定すればひょっとしたらご利益はあるかもしれないが
328 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 21:21:26 ] MBARIパッチっていまどうなってんのかな。 導入予定って1.8.6系だけ?
329 名前:デフォルトの名無しさん mailto:sage [2009/09/19(土) 22:06:03 ] Asakusa.rb議事録によるとMBARIパッチはあらかた入ってる模様 ttp://qwik.jp/asakusarb/013_log.html ttp://qwik.jp/asakusarb/63.html ただし大物のCopyOnWriteがまだっぽい
330 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 17:43:24 ] あとstack cleaningだな。 入るなら1.8.8だが、個別のパッチで出てこない限りマージしようがない。 あれはマージさせたくないとしか。
331 名前:ブグ☆2101を書いたガイ mailto:sage [2009/09/20(日) 19:20:51 ] あひーっ!ブグ☆2101はゼッさん・放置プレイ中でよ! 英語で書いたせいでロスト・イン・トランスレーション気味みていだ。 なおるまで110にちかかったブグ☆1531を見てら、おしっこちびっちゃったでよ。 ジャパニイズ・訳をruby-devにドロップしてら読んでやらなくもねい、っていう人はいるますかね?
332 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:36:33 ] 日本語でおk
333 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 19:49:09 ] ttp://redmine.ruby-lang.org/issues/show/2101 のことであろうとエスパーしつつコメントすると、 まだ4日なんだから気長に待つが吉。 目先の回避としてはrubyは原則いつでもメソッドの中身を差し替えられるから 該当するメソッドをとりあえず差し替えてしまえばOK。
334 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 20:33:32 ] >>331 sinとcosのほうは x %= two * BigMath.PI(prec) でいいんじゃないかと思うんだが、加減算のほうが速い? あとテストが欲しい。
335 名前:331 mailto:sage [2009/09/20(日) 21:03:33 ] >>334 ドゾー (ノ゜▽゜)ノ ⌒~パッチてきよう後 $ ruby -rbigdecimal -rbigdecimal/math -e 'include BigMath;p BigMath.exp(BigDecimal("-50"),10).to_s' "0.1928749848E-21" $ ruby -rbigdecimal -rbigdecimal/math -e 'include BigMath;p BigMath.sin(BigDecimal("100"),10).to_s' "-0.50636564110975879365655776303890941120458305E0" 誤差は1つめが最後の桁で、2つ目は26桁目あたりで発生してるでーす。速度の最適化はあまり 気にしてねいです。BigDecimalの除算の効率わかんねいし、どうせその後の級数の和の計算の方で 圧倒的に時間がかかるので。セキュリテとかよく知らねけども、現状 BigMath.log(BigDecimal("1E-50"),10) でフリイズ気味になるのはDoSっとやられたり しねいてすかね?
336 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 21:28:30 ] あそこに書いてある、atan()の速度向上のための式が、よくわかりません。 どこか、()とかをを省略してないでしょうか。 logはふたつに分けた方が速いような気がします。 計測してませんので、なんともですが。 >>331 前の方に回避方法があります。 本体をいじるのが嫌な人はこっちでひらって調整後、あちらを呼んでください。 flgを立てて、returnのところで調整するのが本当かもしれませんが、 他人のコードをあんまりいじりたくないので。 あれだったら、行を挿入するだけです。 1行で書けるけど、目立つので3行にしました。 >>334 何故か、BigDecimalで%を使う発想がなかったので、私は違うやり方で修正しました。 そっちの方が良いかも。
337 名前:331 mailto:sage [2009/09/20(日) 21:50:58 ] atan(x) = sum 2**(2*n)*(n!)**2*x**(2*n+1)/((2*n+1)!*(1+x**2)**(n+1)) (n = 0, 1, 2, ...) だよ。みつけたのはおいらじゃなくてオイラーさんというひとです。 mathworld.wolfram.com/InverseTangent.html とかにあるから探してね。
338 名前:336 mailto:sage [2009/09/20(日) 22:16:37 ] >>337 どうも、ありがとう。 この手は慣れているつもりだったけど、ちょっとどこかでコーディングミスしているみたい。 あそこの式だと、左がn、右はxで良いのね。 で、左と右を掛け算する。 連休のうちになんとかなるでしょう。 ついでに、asin()も書くつもりだけど、公開できるかどうかは微妙。 色んな意味で。
339 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 22:37:40 ] >>336 > logはふたつに分けた方が速いような気がします。 俺は>>181 を見てこうしてた。 @@ -133,4 +140,5 @@ module BigMath n = prec + BigDecimal.double_fig one = BigDecimal("1") + x = -x if neg = x < 0 x1 = one y = one @@ -146,5 +154,9 @@ module BigMath y += d end - y + if neg + one.div(y, prec) + else + y.round(prec - y.exponent) + end end
340 名前:336 mailto:sage [2009/09/20(日) 23:03:30 ] >>339 >181は確かに、私のレスですね。 >338で言うところの >色んな意味で と、言うのは、私に数学的な素養が少ない。 と、言うことも含まれます。 専ら、電気通信の関係で、飯食ってます。 今夜は、炭素と水素の化合物で頭がクルクルなので、明日ゆっくり拝見します。
341 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/09/20(日) 23:38:47 ] ベンゼンですねわかります
342 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 00:09:05 ] >>338 atanは再提出。
343 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 12:56:17 ] 教祖はデビアン使いでウィンドウズ使ってないしなあ。
344 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/09/21(月) 14:01:12 ] 松江のカンファレンスにはMSも参加してたけどね。 IronRubyがもう少しまともなら・・・
345 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 14:50:32 ] 未だにまともじゃない?
346 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 22:02:20 ] 例のatan()は、完成しました。 有効桁数を100取って、xを0.001から0.999まで変えながら、 オリジナルと比較してみましたが、問題ないみたいです。 xが1.0以上でもちゃんと計算できますし(ここ重要)、速度も速いです。 リクエストがあれば、私の書いた部分だけ公開します。 実は、あれ以降ある種の罪悪感を感じておりまして、 道を歩いていたら、犬の糞を踏んづけてしまった気分だったのですよ。 でも、今日ふと思ったのですが、 あれは、数学のライブラリーとしては、とても貧弱ですよね。 sin()とcos()はあるのに、tan()はないとか。 tan()=sin()/cos() は中学校で習うのかな。 atan()があれば少しのちょこちょこで、asin()もacos()もできるみたいです。 作者は、いつ何処で誰が指摘するかニタニタしながら待っていたのかもしれません。 (と言うか、とりあえず用意したから、必要な人は勝手に拡張してちょうだいみたいな) そう考えてみると、犬の糞ではなくて、百円玉拾った気分になって、今夜は終わりにします。 asin()はもう少しです(たぶん)。分母と分子に!のある式でやっております。 atan()からのチョメチョメでも良いのですが、出てきた値の正当性を確認するためには、 複数のものが必要だし、まぁ遊びですから。
347 名前:346 mailto:sage [2009/09/22(火) 21:14:17 ] あれは、ようやくコードが動くようになって、舞い上がって書いております。 本意は別のところにあるのですが、文章がへたなのと、表現が不適切なところもあって、 変な具合になりました。 そもそも、exp()の不具合は私が最初の発見者では無いと思います。 見切りをつけて、よそに行くひと。 黙ってじっと待っているひと。 知らないで使っているひと。 私はたまたま回避方法を発見したので、発表させて頂きました。 不愉快な思いをされた方には、お詫びを申しあげて、私は退場します。 どうもすみませんでした。
348 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:01:33 ] 以前は Ruby を使ってたけど、 Scheme の方が断然書きやすい。
349 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:04:53 ] そりゃあLisperならGaucheのほうが使いやすいんでないか
350 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:05:56 ] 釣れた!
351 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:43:41 ] かっこいい!釣り師(つりし)かっこいいよ!凄(すご)いね!やったね!
352 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 07:57:58 ] SchemeとHaskellどっち習ったほうがいいと思います?
353 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 08:11:45 ] >>352 Smalltalkにしとけ。
354 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:19:45 ] Rubyやってれば根っこは同じSmalltalkとかSchemeはちょろいから、そっちを先に片付けるか 目新しい考え方を学ぶのにHaskellかってかんじかな。いずれにせよぜんぶやっておk。
355 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:31:58 ] Haskell に一票。といいつつ自分は Scala 勉強中。
356 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:33:14 ] HaskellとRubyの組み合わせが最強ということですね。 ありがとうございました。他の糞ゴミ言語で時間を潰さなくてすみました。
357 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 12:58:22 ] くだらん煽りはいらないから
358 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 13:00:14 ] >>348 からここまで全部俺の自演
359 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 19:07:44 ] おつかれー
360 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:31:22 ] 関数型言語に興味があって、 積ん読してあるソフトウェアデザイン4月号の Haskell の特集を読んでみたが、 ほとんど理解できなかった 関数型言語は難しい。 Ruby などの、 ・クロージャ ・メソッドの引数にブロックを渡せる というのは理解できているつもりなんだけど
361 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 04:23:53 ] 俺でも使えるrubyは偉大
362 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 09:01:44 ] String#inspect って中身なに? 信頼できない入力を inspect して eval して戻しても安全?
363 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 09:13:06 ] inspect した文字列は変換器に通してはいけない まめちしき
364 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 09:16:52 ] eval(str.inspect) はコード実行が起こる可能性があるけど eval(str.dump) は何も起こらないことが保証されてるんだっけ? このへんあんま気遣ってないんだっけか、太古どっかでなんか聞いた気がする
365 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 17:49:12 ] eval(str.dump) == str は保証されてる eval(obj.inspect) は何がおきるかわからない
366 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 17:57:19 ] String は dump をそのまま返してるんじゃねーかとも思う あれわざわざオリジナルなの?
367 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 18:02:58 ] Non-ASCIIの扱いが違う
368 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 06:21:04 ] >>367 それは1.9のみの話? 1.8ではasciiかどうかなんて意識してなかったと思うけど、どうでしょう?
369 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 08:18:01 ] $ /usr/bin/ruby -vKu -e 'puts [ "あ".dump, "あ".inspect ]' ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] "¥343¥201¥202" "あ" $ /usr/bin/ruby -vKn -e 'puts [ "あ".dump, "あ".inspect ]' ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] "¥343¥201¥202" "¥343¥201¥202"
370 名前:369 mailto:sage [2009/09/25(金) 08:21:14 ] なんでバックスラッシュがyenに変換されるんだろ……
371 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 08:56:00 ] >>370 それは君が Mac を使ってるからだよ
372 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 15:13:24 ] 既出かもしれないけど、Ruby1.9で巨大なオブジェクトに対して存在しないメソッドを呼び出そうとするとハングする・・・ エラーメッセージを生成するためにinspect呼び出してるせいみたいだけど、これタイムアウトか何か設けて欲しいわ
373 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 15:22:12 ] 巨大な、て インスタンス変数がめっちゃやたらあるとか、 ギガバイトサイズの文字列とか?
374 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 15:32:39 ] 巨大っつったけど、実は大したことなかったりする・・・ 頂点をあらわすオブジェクトが50個、辺を表すオブジェクトが200個くらいのグラフなんだけど (辺はそれぞれ長さ1の文字列と頂点一つ、頂点は長さ10〜20の整数と辺の配列をもってる) 普通にプログラミングしてたら作られ得る規模だよね、これ CPUはE8500だし言うほど古くないと思うんだけど、、、
375 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 15:37:55 ] そんな巨大プロジェクトにRubyを採用する方が悪い(キリッ
376 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:00:31 ] PHP使え
377 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:04:33 ] 再現コードうpれば直るよ
378 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:06:16 ] >>374 > 頂点をあらわすオブジェクトが50個、辺を表すオブジェクトが200個くらいのグラフなんだけど > (辺はそれぞれ長さ1の文字列と頂点一つ、頂点は長さ10〜20の整数と辺の配列をもってる) 再帰してんのか?
379 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:14:45 ] そのオブジェクトに自前のinspectメソッドを用意すればいいのでは large_string = '巨大文字列' * 20 # 例えば*10000なんかだと表示が大変なことに p large_string def large_string.inspect "#<巨大文字列 #<object_id:0x#{self.object_id.to_s(16)}> size=#{self.size}>" end large_string.foobar # => undefined method `foobar' for #<巨大文字列 #<object_id:0x156ad40> size=200> (NoMethodError)
380 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:22:30 ] inspectのオーバーライドはしたけど、 こういうオブジェクト作るたびに、エラーメッセージ対策のためにinspectオーバーライドするのはなんかなぁ・・・と ちなみに、ある程度inspectの結果が巨大になると、かってに#<[クラス名]:16進数文字列>に直してくれるみたいだけど、 それならいっそのこと、inspectに時間がかかるケースも想定して欲しかった、と class A; def inspect;"A"*10 end end A.new.hoge ==> NoMethodError: undefined method `hoge' for AAAAAAAAAA:A class A; def inspect;"A"*10000 end end A.new.hoge ==> NoMethodError: undefined method `hoge' for #<A:0xcc8594>
381 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:34:21 ] >>374 グラフにループがあるとしたら、何も考えずに頂点と辺の関係をたどってたら無限ループ突入だろ
382 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:41:34 ] >>381 ビルトインのinspectって循環参照考慮してる筈だよね 380で言った「inspectのオーバーライドはしたけど」っていうのは、ビルトインのinspectのせいで止まるから 仕方なく自前で用意した処理の軽いinspectに置換したってこと
383 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:53:34 ] Object#inspect はインスタンス変数全部表示しようとするぞ インスタンス変数がアホみたいに莫大だった場合はボトルネックになる
384 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 00:32:45 ] pp だと pretty_print_instance_variablesを定義して簡単に回避できるけど、 単なるinspect向けにそういうのはないの?
385 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 11:10:14 ] >>384 は悪くないかもな。 あるいは module Inspector def inspect_member(name) ... end end class LargeObject extend Inspector inspect_member :lines end とか
386 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 12:51:38 ] タイムアウトも悪くないけど、 速いマシンと遅いマシンとでinspectの結果やら p の出力が変わったりするとそれはそれで地雷かもなあ
387 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 20:52:14 ] そういや、Matzにっきってもう更新されないの?
388 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 22:45:12 ] >>387 Ruby会議でその話になったときはTwitter見てっていってた。
389 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 23:07:24 ] TLをまとめてブログにポストするrubyスクリプトでも書いて それで更新したらいいのに
390 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 23:11:54 ] そんなの読みたくない
391 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 09:18:31 ] twilog.org のこと?
392 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 10:02:00 ] Rubyによる並列処理システム 「CloudCrowd 0.1.0」リリース codezine.jp/article/detail/4417
393 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 13:27:33 ] >>388 twitter見てみたけど、便所の落書きみたいなことしか書いてなかった・・・ blogにもどってくれよん
394 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 13:42:49 ] そもそもTwitterは「基本ひとこと」「ログが長期間残らない」という点で blogとは違ったものだしな 「Matzはblogの更新をやめた」と考えた方がいい
395 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 13:48:34 ] ブログを書く手間と時間はTwitterに消えてるんだろうな Twitterってかなり一般的になってきたけど気が散って生産性落ちたりしないのかな
396 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 13:53:02 ] リアル雑談と同じようなご利益があります 同じようなご利益しかないとも言えます 同じような弊害があるとも言えるわけですが
397 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 14:25:25 ] iPhone持ちだし、Twitter興味はあるけどね 手を出すと集中して本読んだりコード書けなくなる自信がある
398 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 19:26:24 ] twitterも読みきれなくなってきた
399 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 19:33:50 ] >>394 >「ログが長期間残らない」 いや、残るけど?
400 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 19:36:22 ] どうせならここでつぶやいてよ
401 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 19:40:00 ] うむ 元祖便所の落書きとしては是非invitationを
402 名前:メカMatz mailto:sage [2009/09/27(日) 19:40:13 ] Matz江なう
403 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:08:43 ] >>399 Twitterのログは途中で消えるよ いやサーバに残ってるのかどうかは知らんけど、少なくともWeb上から見えなくなる
404 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:16:36 ] loopっていつの日かまっとうな制御構文に格上げされる可能性はないの? loop end でいいやん
405 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:18:46 ] forさんよりも利用頻度が高いloop・・・
406 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:24:11 ] for や while はオプションがめんどくさいからな お前は黙って無限ループだけしてりゃいいんだよというのを黙々とこなす loop
407 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:38:19 ] 1.9だとloop doはwhile trueより格段に遅くて気に入らない 制御構文になったら違ってくるのかもしれないけど
408 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 20:45:42 ] >>403 Web上からも見えるよ 一覧上からたどれなくなるだけで 個別のエントリのURLを控えておけばいつでも参照可能。
409 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:29:44 ] >>407 そうなん? ここに書いたらまたlength/sizeのときみたいに笹田さんが直してくれそうだな
410 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:31:55 ] 最適化の書き換えの優先度が低いんだろ 放っておいてもいつか速くなると思われる
411 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:35:53 ] loopが、というよりyieldが遅いんでは? 最適化が本格化すると、loopをバイトコードレベルで 無限ループに書き換えるくらいはやってくれるだろう
412 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:36:01 ] よし、おまえらささださん方面に電波最大出力だ
413 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:36:27 ] 「いつか」とか「本格化すると」じゃなくて、今速くして欲しいんだよね
414 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:41:53 ] 今すぐ切実に早くしたいならwhile trueに書き変えろよw
415 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:42:32 ] >>413 Rubyのソースコード書き変えて再コンパイルしれ たぶんいちばん早い
416 名前:デフォルトの名無しさん [2009/09/27(日) 21:48:40 ] length/sizeって何があったの? 本人降臨したの?
417 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 22:02:53 ] >>414 切実に速くしたかったらCで書くだろJK せっかく超高級言語つかってんだし、loop do endって書くキモチを 大事にしたいんだもん
418 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 22:19:41 ] むしろforが要らない子になってね?
419 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 23:03:27 ] rubyそのものを最適化オプションガリガリ付けてコンパイルすればいいんじゃね
420 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 06:44:34 ] if RUBY_VERSION >= '1.9.0' then str.force_encoding(::Encoding::ASCII_8BIT) end について本スレで何かコメントでもあれば
421 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 07:01:52 ] 今時thenなんて使わないよね