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


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

Rubyについて Part 37



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-


237 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 02:42:24 ]
創造的だけじゃないかな。文脈がおかしくなる
創造的 or 建設的 or 実効的 、くらいかな。存在意義としては

238 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 03:10:45 ]
>>234
IPA が金を突っ込んだプロジェクトの話?
Ruby もそれなりにもらってるよ。
まず、まつもとさんが2000年にもらってて、array.c とかを見ると言及が残ってる、
array.c:  Copyright (C) 2000  Information-technology Promotion Agency, Japan
www.ipa.go.jp/jinzai/esp/mitoipedia/seika/year/2000seika.html

笹田さんはYARVで未踏(ユース含む)から3年連続で貰ってるしね
www.atdot.net/~ko1/activities/#idx13

239 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 05:06:24 ]
どっちかってえと何がどう捩れて
> 企業でRubyを導入する場合、国からの援助がある
になったのかが気になる

240 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 11:24:14 ]
>>225 2ちゃんねるだけが生きがいの粘着だから放置しようぜw

241 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 11:48:45 ]
>>240
ひとりでやれんのか
やるならお前ひとりでやれ

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
とかにあるから探してね。






[ 続きを読む ] / [ 携帯版 ]

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

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