33564-34091

33328-33934 subjects 33682-36232

cgi.rb再構築案
33564 [rubikitch@ru] cgi.rbのCGI::TagMaker、CGI::HtmlExtension等を使っている人はいるでしょうか?
33580 [kwa@ku at -l] 参考までに、cgi.rbを書き換えた CGIAlt というのを作ってます。
+ 33581 [matz@ru y- a] パッチを用意してくだされば取り込みます。
| + 33583 [tommy@tm m. ] 根本的な問題の解決の話ではないですけど、CGI#[] が返すのは普通の文字列に
| + 33606 [kwa@ku at -l] するためのpatch (for 1.8.6 p111) です。
| | 33609 [nobu@ru y- a] 1.9ではDelegateClass(Array)はかなり改善したと思います。
| | 33618 [kwa@ku at -l] さっそくの対応、ありがとうございます。
| | 33625 [nobu@ru y- a] 残念ながら1.8ではブロック引数を受け取るブロックを定義できないた
| + 33619 [kwa@ku at -l] これって公式な発言ととらえていいんですよね。
+ 33582 [rubikitch@ru] 古いですがMoonWolfさんのfastescというのもありますね。
| 33607 [kwa@ku at -l] Erubisはつい先日もupdateされたばかりであり、まだ枯れてるとはいい難いので
| 33617 [m_seki@mv .b] 現状で不幸な人が多いということですね。
+ 33600 [arai@me lo t] CGI.rbの問題点分析、素晴らしいですね。

limited_big_rand  で SEGV  が発生する可能性
33565 [muraken@gm i] random.c で定義されている limited_big_rand 内で,
33566 [akr@fs j. rg] たしかに。

rational, complex and nuby
33567 [tadf@do rb o] ruby に rational と complex を組みこもうと試していて nuby という派生物
+ 33570 [nobu@ru y- a] 若干古い1.8.6がベースでしょうか。
| 33571 [tadf@do rb o] ほぼ現 1.8 ですかね。
| 33572 [nobu@ru y- a] 2002/01/25版にその後の修正を手で追加した状態? ChangeLogをみたら、
| 33573 [tadf@do rb o] そうですね。
| 33574 [nobu@ru y- a] たしかに。lib/prelude.rbでしたか。
| 33575 [tadf@do rb o] うっかりしていました。直しておきます。ありがとうございます。
| 33576 [nobu@ru y- a] Float固有のものはすべてNumericではなくFloatに、ということですか。
| + 33577 [tadf@do rb o] おお、それは完璧に忘れていました。
| + 33579 [tadf@do rb o] Python の場合、divmod も引数のどちらかが、浮動小数点数なら結果もそうな
|   33588 [nobu@ru y- a] なんとなく思ったのですが、/は整数除算(というかオペランドの型)の
|   33601 [tadf@do rb o] 以前は、そのようなことも考えていました。でもこれは ruby じゃなくて
+ 33666 [tadf@do rb o] いくつかのバグを直し、xor 演算子など、いくつか機能追加しました。今後も
+ 33713 [sinara@bl de] とても興味深く思いました。互換性より「私だったら…」を優先させた、思い切りが
  33718 [tadf@do rb o] せっかくですからね。原さんに少しでも興味を持ってもらえて嬉しいです。

Re: performance improvement of DelegateClass (was cgi.rb再構築案)
33586 [nobu@ru y- a] cgi.rbとは別に、これも改善するほうがいいでしょう。原因は、細かく
33592 [nobu@ru y- a] Symbol#inspectがクォートされているかで調べられるかなと思ったんで
33593 [matz@ru y- a] 対応した方がよいでしょうね。コミットしてください。
33595 [nobu@ru y- a] どうやら、define_methodを使うのが一番速いようです。
33597 [matz@ru y- a] コミットしてください。

Range#min ignores block
33598 [mame@ts .n .] Range#min や #max にブロックを渡しても無視されます。
33602 [matz@ru y- a] rb_call_super()がブロックを受け渡す方が望ましいようですね。

String#scan & String#gsub
33599 [ruby@gm il c] 今さら気付いた(ネタ元2ch)のですが、gsubのブロックパラメータの仕様はscanと互換にできないんでしょうか? (せめて1.9で)
33608 [yugui@yu ui ] 33548] に話が出てます。

Hash#flatten flattens recursively
33603 [mame@ts .n .] Hash#flatten のコメントを読むと、このメソッドはデフォルトでは
33605 [matz@ru y- a] なんで食い違ってるのかぜんぜんわからないんですが(コメントも実

Hash#compare_by_identity makes string unusable as key
33604 [mame@ts .n .] Hash#compare_by_identity を設定すると、キーが文字列の場合に
+ 33610 [nobu@ru y- a] 短い文字列以外では、freezeされたものが参照できるのでそれを使えば
+ 33990 [matz@ru y- a] 遅くなりました。

Solaris で timeout.rb が Segmentation fault する。
33611 [shiiya@y. ma] 不具合らしきものを発見しましたので、御報告します。
33612 [nobu@ru y- a] もしかして、ruby.cの #define USE_ENVSPACE_FOR_ARG0 をコメントア
33613 [shiiya@y. ma] 椎屋です。反応ありがとうございます。
33650 [nobu@ru y- a] やはりGC関係でしょうね。となると実際の環境がないとちょっと面倒で
+ 33652 [fumiyas@os t] Solaris 10 (SPARC) と
| 33654 [akr@fs j. rg] 1.8.6-p111 の 10234行は以下なので、スタックの領域の判断が間
| 33655 [fumiyas@os t] Stalbe Snapshot (stable-snapshot.tar.gz) って、ダウンロード
| 33657 [akr@fs j. rg] 失礼しました。スナップショットも試したという話を読み逃してました。
| 33857 [tommy@tm m. ] うちの会社の環境でも発生したので、調べてみました。
| 33858 [akr@fs j. rg] それなら消しときましょうかね。
| 33859 [akr@fs j. rg] つい探したら見つけてしまったので書いておきますが、
| 33867 [sheepman@sh ] 当時の eval.c にあった stack_length 関数をそのままコピーしたものです。
| 33870 [akr@fs j. rg] おぉ、そんなところに。失礼しました。
| 33875 [matz@ru y- a] 0x80は確かscmだかsiodだかからもらってきた数値だと思います。
+ 33656 [shiiya@y. ma] ・ envspace.begin end は

CP949 is replica of EUC-KR
33614 [tisphie@gm i] 2tMg8rns1KrHqrkKCkNQOTQ5qqxHQkuqzlJFUExJQ0Gqy+D3qsOqxqqkqt6quaqsoaJDUDk0OarO
33615 [naruse@ai em] いえ、これで正しいです。
33616 [tisphie@gm i] CP936も同じ方法で拡張されてるんですね。

Math.lgamma and Math.gamma
33620 [akr@fs j. rg] ふと、log2(nCm) のグラフを書いてみようと思ったのですが、nCm
33623 [matz@ru y- a] いいんじゃないでしょうか。コミットしてください。

EUC-KR <-> UTF-8 transition table
33621 [tisphie@gm i] 韓国語用のEUC-KR <->UTF-8 の変換テーブルを
33622 [naruse@ai em] とりあえず r15385 でコミットしました。
33624 [duerst@it ao] ご苦労様でした。現在すごく忙しいですが、これから韓国語用の
33626 [tisphie@gm i] CP949(EUC-KRのwindows拡張)、ISO-2022-KR、JOHABがあります。
+ 33627 [tisphie@gm i] リンクを忘れました。
+ 33629 [naruse@ai em] た。(汗)
  + 33631 [duerst@it ao] このサイズ削減はこちらのスクリプトで既に実装しているので、
  | + 33633 [naruse@ai em] なるほど、それじゃそのままにしておきます。
  | + 33638 [tisphie@gm i] japanese.cで見る限りは同じパターンのoffsets
  | + 33639 [tisphie@gm i] japanese.cで見る限りは同じパターンのoffsetsテーブルを
  + 33637 [tisphie@gm i] PythonのCP949/KSX1001は MSBを理用してCP949テブルを流用しているそうです。
    33640 [duerst@it ao] 現在の transcode では無理ですが、次の transcode ではもう既に
    33643 [tisphie@gm i] はい。わかりました。

encdet.rb
33628 [akr@fs j. rg] 前から考えていたのですが、ファイル先頭の magic comment や
+ 33630 [matz@ru y- a] 添付することには賛成します。encdetという名前はピンと来ません
| + 33632 [duerst@it ao] 名前としては EncodingDetection とか DetectEncoding がいいと思います。
| + 33780 [akr@fs j. rg] 名前についてはとくにこだわっていないので、変えるのは構いません。
|   33781 [kou@co mi ng] もしEncoding::Detectorになるならencoding/detector.rbがいいで
|   33783 [akr@fs j. rg] ディレクトリを分けるのって、あんまりいい印象がないんですが。
|   + 33794 [kou@co mi ng] ひとつしかないことでなにか問題があった経験があるということで
|   | 33856 [akr@fs j. rg] そのようなディレクトリは覚えにくいと感じています。
|   | 33864 [kou@co mi ng] ディレクトリを覚えるという状況がよくわからないのですが、どう
|   | 33906 [akr@fs j. rg] はい。覚えていないと require の引数を書けません。
|   | 33913 [kou@co mi ng] お互いの前提が結構食い違っていることはわかりました。
|   | 33933 [akr@fs j. rg] よくわかりません。ここでいうモジュール名が "Test::Unit" だと
|   | 33936 [kou@co mi ng] 収束しない気もするのでとりあえずまとめておきます。
|   | 33975 [akr@fs j. rg] 介入する人はいないみたいですねぇ。
|   + 33796 [nobu@ru y- a] ioにはconsoleというのを入れようかと思ってたんですが、すっかり忘
+ 33641 [kou@co mi ng] EncDetというように名前を短くして使いやすく(読みづらく)する
  33642 [matz@ru y- a] そういう機能もほしいとは思いますが、IO#openのmodeでdetectを
  33644 [kou@co mi ng] ヒューリスティックにやるのであればguessの方がよい気がします。

ext/digest/rmd160  でコンパイルの問題
33634 [duerst@it ao] 現在 (r15396) ext/digest/rmd160 でメークのエラーになります。

Ruby 1.9.1リリース時期
33635 [rubikitch@ru] るびきちです。
33636 [matz@ru y- a] その通りですね。

ARGF.lineno
33645 [rubikitch@ru] ARGF.linenoはRuby 1.9だと処理中のファイルの行番号を返す仕様に変わったのですか?

require/load/autoload  の encoding オプション
33646 [nagai@ai ky ] 見つけることができなかったので記憶違いかもしれないのですが,
33647 [matz@ru y- a] あんまりないです、特にrequire/autoloadに関しては。
33648 [nagai@ai ky ] やっぱりそうですよね.(^_^;
33649 [naruse@ai em] [ruby-dev:33488] とかの延長なのだと思いますが、現時点ではトリッキーな方
+ 33651 [nagai@ai ky ] トリッキーでしたかね?
| 33659 [usa@ga ba ec] まつもとさんが嫌っているのはグローバルな状態の導入だったので
| 33669 [nagai@ai ky ] あぁ,なるほど.
+ 33675 [naruse@ai em] とりあえず default_internal というものを作ってみました。

Iconv::IllegalSequence#failed
33653 [akr@fs j. rg] 返さないことがあります。

BigDecimal#to_f precision issue
33658 [nobu@ru y- a] [ruby-talk:290296]の話ですが、BigDecimal#to_fの精度が不十分なようです。
+ 33665 [matz@ru y- a] コミットしてください。
| 33673 [nobu@ru y- a] try_static_assertは、ある式がコンパイル時に真に評価されるかを調
+ 33677 [shigeo@ti yf] Floatとの相互変換等はあまり気にしていなかったです。

Re: Timeout::Error
33660 [nobu@ru y- a] irbがtimeoutで死んじゃうというのは、あまり意図した結果ではないと
33661 [matz@ru y- a] コミットしちゃってください。

rational, complex and mathn
33662 [tadf@do rb o] rational は floor、truncate、ceil、round を定義していません。Numeric
+ 33663 [tadf@do rb o] 他にも問題、課題はあると思います。すぐに解決できるものと、そうでないも
| 33664 [tadf@do rb o] ひとつ書き忘れました。
| 33707 [matz@ru y- a] 原さんのrationalは導入予定がありますので、この機会にもう一度
| 33714 [tadf@do rb o] という事なので、具体的な話をしましょう > 原さん
| 33727 [sinara@bl de] しましょう。
| 33761 [tadf@do rb o] nurat のほうですが、テストを強化しつつ、少し手動最適化 (という程のもの
| 33788 [sinara@bl de] ふなばさんのコードには既に田中さんの1.9対応も完了していて、やはり乗っか
| 33795 [tadf@do rb o] そうですか。まあ、どれだけ役に立つかわかりませんが。
| 33806 [tadf@do rb o] nurat 0.0.2 を出しました (ついでに nucomp も)。
| + 33808 [sinara@bl de] いただきました。
| | 33809 [tadf@do rb o] あー、すみません。今度は大丈夫だと思います。
| + 33812 [tadf@do rb o] 仕様を確認していきたいと思います。
|   + 33813 [tadf@do rb o] 石塚版との違い
|   + 33815 [matz@ru y- a] new!はRubyで実装しているためにだけ必要なので、Cで実装するな
|   | 33818 [sinara@bl de] これって、Unify が定義されいるときは、Rationa.new(1, 1) が Integer
|   | 33819 [tadf@do rb o] ちょっと意味が解らなかったです。原さんのでもそうなっていると思いますけ
|   | 33820 [sinara@bl de] そうでしたね。
|   | + 33823 [tadf@do rb o] 原さんは複雑に考え過ぎてるのでは。僕からすると Unify の存在と new の存
|   | | 33846 [sinara@bl de] 同じです。
|   | | 33862 [tadf@do rb o] なるほど。
|   | | 33871 [sinara@bl de] ふなばさんは、「mathn.rbはデフォルトでrequire派」ですよね。私は
|   | | 33876 [tadf@do rb o] mathn が目指しているもののほうが統一がとれてると思いますが、mathn 派で
|   | + 33832 [keiju@is it ] あのぅ...
|   |   + 33833 [akr@fs j. rg] 昔、[ruby-dev:20930] で尋ねた時にはそういう話ではなかったような...
|   |   | 33834 [keiju@is it ] 確にそういっていますね(^^; 技術的理由は[ruby-dev:20930]の通りなんでしょ
|   |   + 33835 [matz@ru y- a] 表記だけでよいなら
|   |   + 33836 [tadf@do rb o] シンボルとかも同じなんでしょうけど。
|   + 33821 [tadf@do rb o] 実際的に重要な機能が Rational() という名前で固定されるのはクラスの定義
|     33827 [tadf@do rb o] 以上に加えて、new を reduce と同じにして、new まわりを少し整理したので
|     33845 [tadf@do rb o] もうあまり手を入れないでおこうと思ったのです、つい手を入れてしまいまし
|     + 33847 [sinara@bl de] ありがとうございます。0.0.4 を元にします。
|     | 33848 [tadf@do rb o] それは原さんが頑張って最適化しているからでしょう。少しづつ整理されてき
|     | 33852 [sinara@bl de] あ、失敗。
|     | 33863 [tadf@do rb o] 石塚版と同じですが、そこはバグと考えていいでしょうね。
|     + 33886 [tadf@do rb o] ちょっと実験してみました。原さんの rational は、かけ算割り算が速いので、
|       33888 [tadf@do rb o] で、考えていたんですが、目的は、最速の rational を作ることではなくて、
|       33903 [sinara@bl de] それを第一の目標としましょう。
|       + 33905 [naruse@ai em] 次回でもう組み込んでしまっていいのではないでしょうか、nuby の時に手元で
|       | 33908 [matz@ru y- a] はい。Complexについても1.9の間に組み込んでよいと思います。
|       | + 33912 [tadf@do rb o] では、一緒にやってしまっていいですか。
|       | + 33914 [tadf@do rb o] 組みこみはないと思っていたのですが、組みこむ場合、確認すべきことがあり
|       |   33915 [matz@ru y- a] ぜんぜんあせる必要はないと思うので、のんびりやりましょう。
|       |   33957 [tadf@do rb o] nurat を組みこんでみました。最低限必要な修正だけになっていると思います。
|       |   34007 [tadf@do rb o] rational と complex を 1.9 に組みこむ作業をしました。
|       |   34009 [tadf@do rb o] 異議がなければ、若干の手直しの後、次週末にでも trunk にコミットしよう
|       |   34060 [tadf@do rb o] おそらく、明日作業します。石塚さんが rational.rb、complex.rb mathn.rb
|       |   34085 [nobu@ru y- a] 数値リテラルでは連続するアンダースコアは許されなくなっていますか
|       |   34087 [tadf@do rb o] '1__1/3'.to_r #=> Rational(11, 3)
|       |   34089 [matz@ru y- a] わざわざ揃えてくださってありがとうございます。でも、なんとな
|       |   34090 [nobu@ru y- a] 賛成。
|       |   34091 [matz@ru y- a] コミットしてくださいませんか
|       + 33911 [tadf@do rb o] 同意してもらえてよかった。
+ 33668 [tadf@do rb o] Numeric にある floor、ceil、truncate、round は、あまり意味がないばかり
| 33670 [nagai@ai ky ] メソッドに渡された数値を整数化して使いたい場合を考えると,
| 33672 [tadf@do rb o] Fixnum などは、それぞれ自前で定義を持っているので、そういうことはない
+ 33678 [tadf@do rb o] それから、div もエラーになります。無用ならこれも undef するなり、なん
+ 33706 [matz@ru y- a] どうもメンテナーの反応が悪いので、trunkにコミットしてください。
| 33711 [keiju@is it ] 申し訳ない.
| 33717 [tadf@do rb o] 石塚さんが出てこられてよかった。
| 33719 [keiju@is it ] 申し訳ない. 最近バタバタしていたもので...
| 33723 [tadf@do rb o] なるほど。ありがとうございます。
+ 33793 [tadf@do rb o] 1.8 にも r15446 の変更をします。1.8 ではおそらく互換性のためか、
+ 33797 [tadf@do rb o] 今ごろ気がついたのですが、Integer#{numerator,denominator} だけじゃないですね。
  33798 [keiju@is it ] たしかに, numerator、denominator 単独だと意味がないかも...
  33800 [tadf@do rb o] なるほど。そういうことですか。

Math.cbrt
33667 [akr@fs j. rg] ついでに 3乗根の Math.cbrt も作ったんですがどうでしょうか。
33671 [matz@ru y- a] どうぞ。だんだん大きくなるなあ。別に構わないけど。

erb.rb の仕様について
33674 [kwa@ku at -l] 1. ERB#result() で、safe_level が設定されているときに
33681 [m_seki@mv .b] たしか、$SAFEはより大きな値しか設定できないからだったと
+ 33688 [kwa@ku at -l] 回答ありがとうございます。
| 33695 [m_seki@mv .b] はい。
| 33702 [kwa@ku at -l] 了解です。
| 33704 [m_seki@mv .b] ありがとうございます。目的を理解しました。
| 33722 [kwa@ku at -l] こちらで書いたのは for Rubinius なんで、Test::Unit ではなくて
+ 33689 [kwa@ku at -l] ???
| 33691 [m_seki@mv .b] いや私の勘違いでした。
+ 33692 [zn@mb .n ft ] いつかなのかは知らないのですが、Threadを使わなくても
  33694 [m_seki@mv .b] おお。ありがとうございます。

Suggestion: Proc#curry
33676 [mame@ts .n .] で提案されている Proc#curry を組み込むのはどうでしょうか。
33700 [matz@ru y- a] うーん、カリー化って
33701 [mame@ts .n .] カリー化というのは、「n 個の引数を同時に受け取って実行する関数」を、
33703 [matz@ru y- a] そうなんだ。無知を露呈してますね。
33762 [mame@ts .n .] よくある誤用みたいです。誤用も広まれば正用?

bigdecimal
33679 [tadf@do rb o] bigdecimal/math.rb の BigMath は、利用者が include してつかうことを前
33680 [tadf@do rb o] Integer や Float に比べると、BigDicimal() は、1 や 1.1 を受けつけない、
33686 [shiba@ma l2 ] 仮にBigDecimal(1.1)を、(二進小数として)受け付けると、「BigDecimalでは、
33698 [tadf@do rb o] bigdecimal/util.rb には Float#to_d がありますが、斉藤さんのいわれるよ
+ 33705 [matz@ru y- a] ご迷惑をおかけします。私自身が数値系に弱いのが最大の原因なん
| 33709 [shigeo@ti yf] 余裕が無いので、チョットだけ...
| + 33710 [matz@ru y- a] 「戻り値が明らかに整数なものに関してはIntegerに」という話で
| + 33716 [tadf@do rb o] BigDecimal が閉じてる、というのは、BigDecimal の仕様を読んで感じること
|   33721 [shigeo@ti yf] 小林です。少し追加しておきます。
|   33724 [tadf@do rb o] よくわかりませんが、
|   + 33729 [sinara@bl de] 私も、引数なし(かnil)で呼ばれたら常に Integer を返すべきと思います。
|   | 33732 [shigeo@ti yf] 小林です...、はぁ
|   | 33750 [matz@ru y- a] 引数のありなしで戻りのオブジェクトが変化することはRubyにおい
|   + 33731 [shigeo@ti yf] まぁ、仕様が無い時点での新規導入なので、それを独自
|     + 33738 [naruse@ai em] 門外漢なのでつっこんだところは避けますが、
|     | 33758 [tadf@do rb o] そこは論点のひとつだと思いますが、趣味じゃなくて、ruby の仕様として受
|     | 33775 [naruse@ai em] 「趣味」というのは語弊があったかもしれません。「恣意的」の方がいいですか
|     + 33757 [tadf@do rb o] 現在でも ruby には仕様がないといえばないですが、そのあたりは、その時点
|     + 33773 [sinara@bl de] trancate とくれば、Integerを返すと期待する人も結構いるのではないかなあ。
|       33782 [shigeo@ti yf] 原>  1.3m のひもから 0.3m のひもは何本とれるでしょう?
|       33790 [sinara@bl de] その感覚はわかります。それは誰もが共通にこれだと思えるような「実数」が
+ 33760 [shiba@ma l2 ] ここはちょっと自分の書き方が悪かったかもしれません。ユーザがタイプした
  33765 [tadf@do rb o] なるほど。
threads.html
top