[#37892] 配列の重複検出用Hashの使いまわし — wanabe <s.wanabe@...>
ワナベと申します。
[#37898] [Bug #1105] Ruby1.9でのrescue節の例外ハンドラのマッチの処理 — Tatsuji Kawai <redmine@...>
Bug #1105: Ruby1.9でのrescue節の例外ハンドラのマッチの処理
[#37910] [Bug:1.9] lack consistency in hash iteration — Yusuke ENDOH <mame@...>
遠藤です。
まつもと ゆきひろです
[#37918] [BUG: 1.9] encoding warning — SASADA Koichi <ko1@...>
ささだです.
[#37921] [Feature:trunk] with_index_from — Yusuke ENDOH <mame@...>
遠藤です。
At Thu, 5 Feb 2009 23:18:49 +0900,
遠藤です。
At Fri, 6 Feb 2009 00:58:59 +0900,
[#37936] zombie processes by drb tests — Tanaka Akira <akr@...>
OpenBSD で、test-all をすると、drb のところで、テストに 100
咳といいます。
[#37956] proposal: Module#method_adding — SASADA Koichi <ko1@...>
ささだです.
[#37959] [Bug:trunk] I can modify literals — Yusuke ENDOH <mame@...>
遠藤です。
[#37980] Re: [ruby-changes:10687] Ruby:r22250 (trunk): * iseq.c (simple_default_value): allow plain strings as default — SASADA Koichi <ko1@...>
ささだです.
[#37995] Add POSTARG support to rb_scan_args() — Akinori MUSHA <akinori.musha@...>
rb_scan_args()をPOSTARG対応にするパッチです。
[#37998] [Feature:1.9] {Array,Enumerable}#uniq_by, #uniq_by! — Nobuyoshi Nakada <nobu@...>
なかだです。
[#38005] Is URI.decode() broken? — MOROHASHI Kyosuke <moronatural@...>
もろはしです。いつもお世話になっております。
なかだです。
成瀬です、
xibbarこと藤岡です。
成瀬です。
NARUSE, Yui さんは書きました:
成瀬です。
(2009年03月03日 22:45), NARUSE, Yui さんは書きました:
成瀬です。
In article <4A9E44DD.6050706@airemix.jp>,
成瀬です。
小崎@思いつきを適当に書いてみるテスト
In article <20090907091830.2C7A.A69D9226@jp.fujitsu.com>,
> In article <20090907091830.2C7A.A69D9226@jp.fujitsu.com>,
2009/09/07 14:38, Tanaka Akira wrote:
In article <4AA5EA67.1040504@airemix.jp>,
[#38007] [Feature #1159] StringScanner に文字ベースでのインデックスを返すメソッドがほしい — Akira Matsuda <redmine@...>
Feature #1159: StringScanner に文字ベースでのインデックスを返すメソッドがほしい
[#38018] circular require in openssl — Tanaka Akira <akr@...>
以下のように、openssl には環状の require があり、警告が出ます。
In article <87vdrcul7y.fsf@fsij.org>,
まつもと ゆきひろです
In article <E1LYyoE-0005P0-Hi@x61.netlab.jp>,
[#38022] ENCODING_FIXED と ENCODING_NONE の廃止 — "NARUSE, Yui" <naruse@...>
成瀬です。
In article <49986A0A.5060602@airemix.jp>,
成瀬です。
In article <49995412.6040000@airemix.jp>,
[#38048] Add option hash support to rb_scan_args() — "Akinori MUSHA" <knu@...>
rb_scan_args() にoption hash対応を組み込むのはどうでしょうか。
[#38067] Re: [ruby-cvs:29304] Ruby:r22086 (trunk): * ruby.c (process_options): set initial default_external before -r. — "Yugui (Yuki Sonoda)" <yugui@...>
Yuguiです。
[#38075] [Bug #1198] corrupted iteratoin during "enum_for :inject" — Shyouhei Urabe <redmine@...>
Bug #1198: corrupted iteratoin during "enum_for :inject"
[#38080] [Feature:trunk] nested loop construct — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
ささだです.
[#38096] 多重代入やメソッド引数の展開でto_aが呼ばれます — nagachika <nagachika00@...>
nagachika と申します。
前田です。
まつもと ゆきひろです
前田です。
In article <704d5db90907141754p285e6e51xdd3208b27d556906@mail.gmail.com>,
[#38098] ブロック引数と括弧・引数なしsuper — Shugo Maeda <shugo@...>
前田です。
まつもと ゆきひろです
[ruby-dev:38043] Re: ENCODING_FIXED と ENCODING_NONE の廃止
成瀬です。
Tanaka Akira wrote:
> In article <49995412.6040000@airemix.jp>,
> "NARUSE, Yui" <naruse@airemix.jp> writes:
>
>> 以上だけなら一見「仕様」にも見えるのですが、
>> このような、Regexp#source.ascii_only? が成立するのに、
>> ASCII 互換なエンコーディングを持つ文字列にマッチさせることができない
>> (Regexp#fixed_encoding? が true な) 正規表現は //u, //s, //e を用いてしか
>> 作ることができないという点です。
>
> Regexp#source.ascii_only? が成立し、
> Regexp#fixed_encoding? が true 正規表現を
> //u, //s, //e を用いずに作る例はたとえば以下が存在します。
>
> % ruby -ve '
> r = /\u3042/
> p r.source.ascii_only?
> p r.fixed_encoding?
> '
> ruby 1.9.2dev (2009-02-15 trunk 22328) [i686-linux]
> true
> true
む、確かにエスケープして埋め込んだ場合もそうですね。
すると、Regexp#source.ascii_only? を出したのは不適切でした。
> ここは微妙なところで、正規表現が記述に用いたエンコーディング
> と、それがマッチする対象のエンコーディングには、ちょっとギャッ
> プがあります。ここをいじるには、そのギャップについて充分に考
> える必要があります。
ふむ、一般に言えば確かに仰るとおりです。
\p 等のことも視野に入れれば、十分な検討が必要でしょう。
端的に言えば、その正規表現の記述に用いたエンコーディングと同じ
エンコーディングの文字列の時にマッチできる範囲と、
意味的に概ね同じになるようにしたいですかね。
「概ね」と入れたのは \s や \w、先には \p{Hiragana} 等を考えているわけですが。
> とはいえ、成瀬さんが感じた混乱自体は、なんらかの問題を示して
> いる可能性は充分にあります。
>
> もう一回、何が問題なのかを正確に表現していただけるとありがた
> いです。
しかし、//u 等に限って言えばそのような大きな問題ではなく、
/a/u と同じことをできる方法が存在せず、UTF-8, EUC-JP, Windows-31J の
3 つのエンコーディングでしか使えない特殊な機能である点から、
局地的な問題だと思っています。
そしてまず、直接的な問題としては、例えば、
> Regexp.new(/a/u.source) == /a/u
=> false
と、Regexp#source と Regexp#new で戻らない点があります。
また、一般に正規表現は一度作ってしまうと、
それがなぜ fixed_encoding なのか後から知ることは困難です。
たいていの場合は
* ASCII 互換エンコーディングでないから
* 正規表現に非 ASCII を示すリテラルまたはエスケープを含むから
* \p 等を含むから
で、これらはそれなりに理由があります。(プロパティ等は将来的に検討が必要でしょう)
しかし //u はそうした正規表現そのものを無視して KCODE_FIXED を付与します。
わたしは //u 記法自体の廃止は主張していないので、これが影響するのは、
/a/u や /\w/u を非 ASCII な文字を含む場合なのでこれらについて考えると、
/a/u は UTF-8 における「a」を他のエンコーディングの「a」と区別し、
UTF-8 のもののみにマッチさせる正規表現と考えられます。
しかし、そのような機能は必要でしょうか。
わたしは必要ないと思いますし、もし必要ならば他のエンコーディングにも提供するべきです。
/\w/u についても同様に感じます。
そして、すでに 1.8 用に書かれた /a/u 等もわざわざ UTF-8 等に限定する意図は
なかったのではないかと思います。
現状、できごころで /u を付けてしまった正規表現リテラルから、
/u を削るという不毛な作業が行われていますが、本当にそれは必要なんでしょうか。
意味論から必要な作業ならば行って貰うべきだと思いますが、
わたしにはそうは思えません。
結局のところ、これは不必要な非対称な機能に見えます。
--
NARUSE, Yui <naruse@airemix.jp>