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-
242 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:59:26 ] >>241 我々多数派はこれからも岡田を追及し続けるってことですね。わかります。
243 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:09:00 ] >>226 メルセンヌツイストとかxor128とかは乱数生成のアルゴリズム名だったのか。知らなかった。 勉強になりました。ありがとうございます。
244 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:11:51 ] メルセンヌツイストってメルセデスベンツのパチもんだろ
245 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:34:00 ] >>234 ,238 BioRubyも2005年に未踏でついてるね。早くBioPerlに追いついてほしい。
246 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 14:04:05 ] 専門知識を携えて頑張る人がいなかっただけだからな ある意味仕方なかったんだが
247 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 14:40:02 ] >>243 > メルセンヌツイスト 正しくはメルセンヌツイスターだけどね。
248 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 14:42:38 ] > 企業でRubyを導入する場合、国からの援助があるという話を聞いたのですが それを聞いたソースに尋ねてみたら?
249 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:29:13 ] 強まるRuby標準化を求める声〜RubyWorld Conference2009 ttp://enterprise.watch.impress.co.jp/docs/news/20090909_314346.html
250 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:41:50 ] 標準化がゲシュタルト崩壊した 標準化ってなにすることなんだっけ
251 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:01:49 ] >>250 政治的駆け引きを繰り返し、 誰もが望まないけれど妥協点の機能を追加し続けること。
252 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:27:28 ] Modula-2はそれで死んだのかな。
253 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:50:57 ] まあみんな勝手にばらばらにやってる感はある ここである程度は合わせてもいいかも
254 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 07:40:09 ] railsのために標準を1.8にして1.9が死んだりしなきゃいいけど
255 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 07:47:40 ] Rails が 1.8 に固執してるのはシステム的に対応不可能な個所があるというよりは 「1.9たいおうにするのめんどくさいから」 なので、1.9 サイコーということになればついてこざるを得ないとは思う が、Encoding 関連のガイジンさん誰得っぷりが足を引っ張るかも Latin-X を利用してる人なら恩恵あるんだけどなあ
256 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 08:07:06 ] 1.9がサイコーになる要素がないじゃん・・・ たいして速くないし、エンコードも英語だけ使ってるなら面倒が増えるだけだし。 1.8に比べて特に優れてるところがないんじゃ誰が以降すんだよ
257 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 08:28:46 ] 1.6 のころは Ruby しょべええええええと思ってたので 1.9.6 くらいになればまた違うのではないかと
258 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:33:17 ] >>256 なぜ外人の立場でものを言うのだお前は
259 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:49:19 ] エンコード絡みでエラーが出ると、どこでどのように対応するのが正解なのか判りづらいんだよなあ エラーが出た行を修正すればいいわけじゃないから
260 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:53:33 ] >>258 日本人と限ったものでも
261 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:53:36 ] Ruby1.9とRailsの組み合わせでつまづくと、 海外サイトの方が圧倒的に情報が多いという事実を知らないんだなw
262 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 11:56:21 ] RUby1.9が関係ないということに>>261 が気づくのはいつだろうか
263 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 12:52:55 ] >>262 ごめん。意味分からない。 おまえ頻繁に書き込んでると思うけど、ほんとに意味分からないよ。
264 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:04:34 ] Rails は外国のほうがそもそも情報量が桁違いに多いってことなんじゃねーの Ruby1.9 かどうかにかかわらず、Rails だから多いということなんでは
265 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:19:24 ] >>264 なるほどね。ものすごく見当違いだから分からんかった。 やれば分かるが1.8系+Railsならそこまで海外サイトに頼らなくても支障はない。 日本のサイトでもヒットするし、書籍もかなりあるし。 1.9になると自分でソース見る以外はほとんど海外サイト頼み。 実際にやりもしない調べもしないやつはこれだから。
266 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:25:13 ] 「調べもしない」から、RailsはRubyのバージョンによらず 海外のほうが情報が多いということに気づけなかったのだろ 1.8系列のRailsの情報を海外に求めていれば莫大だと気づけたはず 恥かいてから言い訳とか恥ずかしすぎる
267 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:36:09 ] Ruby1.9とRailsの組み合わせの情報が、日本では全然ない というだけの話じゃないのか? いったい何を言い争ってるんだ
268 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:54:57 ] >>267 彼らが本当に交換しているのは 情報ではなく自尊心なんです。
269 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:30:31 ] 製作サイドはもちっと説明してほしいね
270 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:37:24 ] Tempfile.newの第一引数にArray渡せるなんて聞いてねーぞ
271 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 06:57:12 ] いいから黙って渡せ!!
272 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 15:45:03 ] こういうオーバーロードもどきはちょっと汚い感じ
273 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 00:01:44 ] Arrayで渡してやればsuffixも指定できるって話でいいのか?
274 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 02:47:18 ] いいよ。 ふと思いついたんだが Tempfile.new("foo"..".rb") というのは…やっぱりダメだな
275 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 16:05:49 ] ttp://www.tokumaru.org/d/20090914.html#p01 Ruby1.9.1ではめんどくさいことが防波堤になるという話 まあ実際では正規表現が動かない から BINARYにforce_encodingしてからスクリプトで扱ってたりするんですけどね外人爆発しろ
276 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 21:53:44 ] >>195 redmine.ruby-lang.org/issues/show/2101 GJだが、なんで英語?
277 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 06:04:56 ] >>276 ruby-coreからの転記だからじゃね? じゃあなんでruby-coreよ? という疑問は残るけど、英語の方が着目してくれる人数は多そうな気がしなくはない。
278 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 06:12:50 ] 傍目に明確なテストを大量に付記しないと入りそうにないジャンルだから、手をかけてくれる人は多いほどいいな
279 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 06:27:16 ] そういえば、 ttp://redmine.ruby-lang.org/issues/show/2060 の >DLをCからRubyに変換する事を勧めます >DLをCからRubyに変換すれば良いと思ったので、変換しました。CからRubyに変換後のパッチとそのテストを送ります。 >このパッチを受け入れてもらえるのなら、これからもっとCからRubyに変換をするつもりです。 >宜しくお願いします。 ってのをAaronタンがやってるけど、どういう趣旨なんだろ。 移植性の改善とか?
280 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 08:12:58 ] 久しぶりにRuby公式hpみたら落ちてる
281 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 09:34:08 ] >>275 その辺をやっているのは日本人だな。 まぁ、自動設定できるほど甘くはないのがその領域なんだが。
282 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:33:49 ] >>279 DLじゃできないことがあったそうだが、もうわからんらしい. まぁDLにはいろいろと問題も多いのでFFIに置き換えること自体は賛成. あとはFFIの完成度だな.
283 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:53:06 ] DL って何の略ですか? ググって勉強してみたいので教えて下さい
284 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 10:57:23 ] ぐぐってみたところ DL … ダウンロード FFI … ファイナルファンタジー1 のことのようだ
285 名前:283 mailto:sage [2009/09/16(水) 11:02:29 ] DL ってこれのこと? www.ruby-lang.org/ja/man/html/dl.html そういえば、Nokogiri を、Linux 版 Ruby、Windows 版Ruby、JRuby で ためしていて、FFI のところまでいって、Nokogiri は ・Linux 版だと libxml2 の so(?) を開こうとする ・Windows 版だと libxml2 の dll を開こうとする ・JRuby 環境で gem install した Nokogiri だと、落ちた(Java 環境だと、DL 対象がみつからない?定義されていない?) ということをやりつつソースまで追いかけたんだけど、 キーワードの目の付け所はあってますか??
286 名前:284 mailto:sage [2009/09/16(水) 11:05:59 ] >>285 ちげーよばか
287 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 12:06:09 ] >>277 「ruby-coreからの転記」じゃなくてチケット作成のときに英語を選んだから ruby-coreに行ってるんだよ。
288 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 15:14:17 ] >>287 ああ、そういう流れになってるのか。得心したわ。 >>285 だいたいあってる DLもFFIもダイナミックリンクなライブラリを いちいち拡張ライブラリを作ったりすることなく 利用する仕掛け。 DLは1.8系に標準添付だったためデファクトスタンダードだったが >>282 の言うように問題も多かった。 しかも、ライブラリ管理者が1.9系で、 機能はおおむね同じだがAPIが異なるライブラリ(DL2)を 何故か同じ名前である「DL」で添付するという判断をしたため 最大の利点であった「1.8系含めた今までのコードが修正なしで動く」という 特徴が吹き飛んだ。(DL2とDLの同時添付じゃ何故駄目だったのか今でも疑問) とはいえ、当時このコンセプトのライブラリはDLぐらいしかなかったし、 1.9系のためにチマチマ移植するしかないか、という空気のところに 1.8系でも1.9系でも同一APIでそれどころかRubiniusでもJRubyでも 同一APIで行ける、というFFIが登場して全部かっさらっていったと。 Rails等を考えたときに1.8系はまだ当分続く流れで、 1.9系と1.8系が並行して利用される期間が長そうな見通しとなったことも FFIに対しての追い風となった。 とはいえFFIもまだAPIが固まり切ってないという課題があって、 標準添付は課題解決を待ってから、というのが大まかな流れというところ。
289 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 19:36:56 ] 違うものを同じ名前で入れてしまったんで、DLを使いづらい状況にしちゃったよね
290 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 21:17:47 ] Net:HTTPですら(ああいうやり方だったとしても)互換性確保には心を砕いてたのになあ ライブラリ管理者氏のDLに対する過大評価と過小評価があったのかな、と DLを代替できるようなライブラリは出現しないだろう(そんな面倒なことは誰もしないだろう)という 「DL自体への過大評価」と DLなんて実際のところ大して使われていないだろう(だから救済措置なしに互換性を捨てても移行コストは低いだろう)という DLやFFIその他の「こういうことをするライブラリのニーズへの過小評価」という この辺が移行措置なしでいきなり変えちゃった背景なのかな、と いうところまで書いたところで念のため、アーカイブを確認してみたら、 ライブラリ管理者氏は当初DLとDL2の共存案を提案してますな ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25486 >まだ先の話ですが、Ruby/DL2 がある程度使えるレベルになったら、現行の ruby-1.9 に >マージすることを考えています。同時に、旧 ruby-dl はしばらく残しておいて、ruby-1.9 >をベースにした安定版のマイナーバージョンアップが2,3回あってから削除しようと考えて >います。 むしろDL2をDLにしちゃえ案はmatzの提案だったという ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/25487 >どうしてもそうしたいというなら別ですが、1.9は「不連続」で >「非互換」を許容する「2.0のプロトタイプ」という性質がありま >すから、いっきにdlを置き換えてもあまり問題ないと思いますよ。 まあ2005年頃の状況(Railsが席巻しておらず、1.9移行も早々に行われると見られていた)からすると 当時は妥当な判断だったのかなあ 結果論としては失着でFFIが取って代わることになったけれども
291 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 21:18:48 ] 1.9のDLってDL2だったのか。 なんか変だという気がしてたのが解決した。
292 名前:285 mailto:sage [2009/09/16(水) 21:58:56 ] >>288 詳細な説明どうもありがとうございます。 DL とは Unix の dlopen() を裏で呼び出すと思うのですが、 Nokogiri のソースの FFI を呼び出すところまで見て、 JRuby 環境だったら、libxml2 の so や DLL を呼び出さずに、 xerces の jar か何かのメソッドを呼び出すようにすれば、 プラットフォームに依存しない Nokogiri 環境が出来るかな、とちょっと妄想していました。 (libxml2 と xerces は API のシグネチャが違うと思うので、実際には簡単にはできないだろうけど)
293 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 23:41:08 ] Mingw版Ruby 1.8 でdlでコールバック関数を引数に取るWin32API呼んだらRubyが落ちることがあった が、何処にも報告してないのでいまだにそのままのはず Mswin版Ruby 1.8だとちゃんと動くので、誰も困ってないのだろう デスクトップ上のWindowハンドルを列挙させるAPIなんだけど >ruby -rdl -e "DL.dlopen('user32')['EnumWindows', '0PL'].call( DL.callback('IL'){|hwnd2| puts '%08x'%[hwnd2];-1}, 0 )" 〜ハンドル列挙 省略〜 -e:1: [BUG] Segmentation fault ruby 1.8.7 (2009-04-08 patchlevel 160) [i386-mingw32] abnormal program termination One Click RubyがMingw版になったら、困る人も出てくるのしょうか?
294 名前:デフォルトの名無しさん mailto:sage [2009/09/16(水) 23:42:10 ] 勉強始めて1ヶ月くらいなんですが 昔のVBのようにアジャイル用教育言語の香りがしてくるんですが その辺どうなんでしょう先輩方
295 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 05:00:42 ] 元々のPerlの正当な継承者です Practical Extraction and Report Language 作り直しまくる内製のプログラムをやるのに最適という点でVBに似ていなくもない Rubyプログラム自体を「ハードなウェア」として外部提供したり販売したりするのは於大臣の仕事 それで双方満足してるなら駄目じゃないが、他にやりようもあるよね
296 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 06:04:55 ] さすがにVBよりはずいぶんましな言語仕様だとおもうけどなあ。 でもGUI作るならVBのほうがずっと楽。
297 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:13:24 ] >>292 FFIはJRubyの場合にはJNI(Java自身のダイナミックライブラリ呼び出し機構)他を使って 同じように呼び出し出来るようにしてるはず。 その辺がFFIのウリだよね。 >>293 Cygwinでも同様みたいだね ttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/188636 でもWindowハンドル列挙って呼び方次第で普通に落ちた気がする ループ回してるあいだにWindowが増減した場合とかで。
298 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 10:08:53 ] Ruby 初心者スレッド Part 30 pc12.2ch.net/test/read.cgi/tech/1249687283/ の次スレたててください。 おながいします。
299 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:11:32 ] gitとかgemとかいっぱいありすぎでわかんねえよ どれが最新版なんだよ
300 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:15:27 ] 一定したルールはないが、 RubyForge と GitHub の両方にある場合 (で、 github を gem のsource に指定済みの場合) gem install hogehoge でインストールされるものが hogehoge 最新安定版 gem install AUTHOR-hogehoge でインストールされるものが hogehoge 開発最新版 git clone git://hogehoge... 等の git コマンドで手元にコピーされるものが hogehoge 開発先端版 と考えていいと思う gem install hogehoge でいいんじゃね
301 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:17:53 ] spec1.9 でテスト試したら 全く知識のないクラスの全く動作が読み解けないメソッドで nil に対する NoMethodError が出た もう知らん 今日は休み
302 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:20:49 ] >>300 先端と最新の違いがわかんないけどとにかく gem 使って github をソースに追加しておけばいいんだな ありがとう
303 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 13:29:42 ] >>301 勉強くらいしろよ
304 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:34:00 ] ファイルの行から特定のパターンの行を出力したんですが、 その出力した行から、特定の文字を出力するにはどうすればいいですか?
305 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:58:51 ] 初心者は each を惜しげもなく使え each で書きにくくなってから他の使え 複雑なの使ってからだと each 使えなくなるぞ 特定の文字の特定のしかたによるんではないかと 正規表現で済むなら scan するか if でマッチさせて数値参照読むのが普通
306 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 14:59:06 ] >>304 grep したやつに sed
307 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 16:40:40 ] >>304 んーその説明じゃ「特定の文字」がなんなのかわからないかな。 パターンにマッチした文字列のことを指しているんだとエスパーしてみる。 File.open(filename).each do |line|
if line =~ /(¥w+)¥.(¥d+)/ puts "#{$1}, #{$2}" end end
308 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 16:45:07 ] 初心者スレの次を建てます。しばらくおまちください。 >>298 >Ruby 初心者スレッド Part 30 >pc12.2ch.net/test/read.cgi/tech/1249687283/ > >の次スレたててください。 >おながいします。
309 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 16:52:05 ] >>308 規制されてて建てられませんでした。ごめんなさい。
310 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 17:29:44 ] >>309 わかった。俺が立てる。
311 名前:310 mailto:sage [2009/09/17(木) 17:41:11 ] というわけで初心者スレを立てました。 Ruby 初心者スレッド Part 31 pc12.2ch.net/test/read.cgi/tech/1253176267/
312 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 05:06:39 ] RubyKaigi 2009 Sessions(1st day) www.nicovideo.jp/mylist/14722636
313 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:27:46 ] >>311 乙
314 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 16:56:17 ] >>293 1.8のdlはstdcallに対応してない。 スタック後処理次第でたまたまうまく行くこともある。
315 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 17:55:53 ] rspec でテストを書いた rspec 特有の機能を何も使ってない単純なテストだけだということに気がついた test/unit に書き換え中
316 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:39:02 ] >>315 そんな君には Shoulda がオススメ
317 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 18:42:54 ] >>312 と動画うpチーム乙
318 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 19:34:14 ] オフィシャルサイトの検索機能死んでね?
319 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 21:45:02 ] >>314 マジで? じゃあ当然WINAPIとか(あるべき論としては)全滅なわけだけど、 大概のDLのサンプルコードってWIN32APIキックしてMessageBoxを出してみる、 とかなんだよねえ……。 初心者は自動的に地獄に引き摺り込まれているわけかw
320 名前:デフォルトの名無しさん mailto:sage [2009/09/18(金) 21:49:50 ] 普通はwin32/apiを使う
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は再提出。