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-
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は再提出。
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の扱いが違う