[#21058] dRuby failed, ruby 1.8.0 preview7? — Masatoshi SEKI <m_seki@...>
咳といいます。
5 messages
2003/08/01
[#21072] __libc_ia64_register_backing_store_base — akira yamada / やまだあきら <akira@...>
5 messages
2003/08/02
[#21081] conversion from float to string — Yoshiki Wada <ysk@...5.so-net.ne.jp>
和田と申します。
8 messages
2003/08/02
[#21082] Re: conversion from float to string
— matz@... (Yukihiro Matsumoto)
2003/08/02
まつもと ゆきひろです
[#21083] Re: conversion from float to string
— Koji Arai <JCA02266@...>
2003/08/02
新井です。
[#21093] (ary - ary) preserves duplicated values — Koji Arai <JCA02266@...>
新井です。
7 messages
2003/08/03
[#21134] Re: [PATCH] Change configure to use Cygwin net release naming convention (PR#1077) — WATANABE Hirofumi <eban@...>
わたなべです。
4 messages
2003/08/05
[#21137] with-static-linked-ext — nobu.nakada@...
なかだです。
10 messages
2003/08/05
[#21140] Re: with-static-linked-ext
— nobu.nakada@...
2003/08/05
なかだです。
[#21142] Re: with-static-linked-ext
— matz@... (Yukihiro Matsumoto)
2003/08/05
まつもと ゆきひろです
[#21146] Regexp.alt(pat1, pat2, ...) — Tanaka Akira <akr@...17n.org>
提案なのですが、複数の Regexp (や String) を | でつなぐ Regexp.alt
4 messages
2003/08/05
[#21153] ChangeLog — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
12 messages
2003/08/06
[#21154] Re: ChangeLog
— matz@... (Yukihiro Matsumoto)
2003/08/06
まつもと ゆきひろです
[#21159] Re: ChangeLog
— nobu.nakada@...
2003/08/06
なかだです。
[#21160] Re: ChangeLog
— matz@... (Yukihiro Matsumoto)
2003/08/06
まつもと ゆきひろです
[#21170] soap4r to /src/ruby/lib — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
11 messages
2003/08/08
[#21176] marshalling ivtbl of Time — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
10 messages
2003/08/11
[#21475] Re: marshalling ivtbl of Time
— Tanaka Akira <akr@...17n.org>
2003/10/03
In article <1065144546.011594.19001.nullmailer@picachu.netlab.jp>,
[#21179] [BUG]net/httpでBUG — "yamamoto madoka" <dan@...2.so-net.ne.jp>
こんにちは、山本 円と申します。
8 messages
2003/08/11
[#21183] Process::UID.switch, Process::GID.switch — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
5 messages
2003/08/11
[#21216] [PATCH] reducing PUSH/POP/EXEC_TAG() for retry — nobu.nakada@...
なかだです。
4 messages
2003/08/21
[#21225] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
14 messages
2003/08/22
[#21227] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— nobu.nakada@...
2003/08/22
なかだです。
[#21228] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— matz@... (Yukihiro Matsumoto)
2003/08/22
まつもと ゆきひろです
[#21229] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— nobu.nakada@...
2003/08/22
なかだです。
[#21231] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— matz@... (Yukihiro Matsumoto)
2003/08/23
まつもと ゆきひろです
[#21232] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— nobu.nakada@...
2003/08/23
なかだです。
[#21233] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— matz@... (Yukihiro Matsumoto)
2003/08/23
まつもと ゆきひろです
[#21234] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values.
— Koji Arai <JCA02266@...>
2003/08/23
新井です。
[#21236] Re: [ruby-cvs] ruby: * enum.c (inject_i): userb_yield_values.
— Koji Arai <JCA02266@...>
2003/08/23
新井です。
[#21237] SEGV — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
12 messages
2003/08/23
[#21259] Regexp#initialize が $SAFE==4 で落ちる — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
9 messages
2003/08/25
[#21262] Re: Regexp#initialize が $SAFE==4 で落ちる
— matz@... (Yukihiro Matsumoto)
2003/08/26
まつもと ゆきひろです
[#21264] Re: Regexp#initializeが $SAFE==4 で落ちる
— nobu.nakada@...
2003/08/26
なかだです。
[#21280] スレッド内の例外でRuby停止 — "yamamoto madoka" <dan@...2.so-net.ne.jp>
こんにちは、山本と申します。
9 messages
2003/08/29
[#21281] 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
16 messages
2003/08/29
[#21285] Re: 大量メモリ消費攻撃に対する対応
— matz@... (Yukihiro Matsumoto)
2003/08/29
まつもと ゆきひろです
[#21288] Re: 大量メモリ消費攻撃に対する対応
— Hidetoshi NAGAI <nagai@...>
2003/08/29
永井@知能.九工大です.
[#21306] Re: 大量メモリ消費攻撃に対する対応
— matz@... (Yukihiro Matsumoto)
2003/09/03
まつもと ゆきひろです
[#21309] Re: 大量メモリ消費攻撃に対する対応
— Hidetoshi NAGAI <nagai@...>
2003/09/03
永井@知能.九工大です.
[ruby-dev:21050] Re: [Oniguruma] explicit capture
From:
Tanaka Akira <akr@...17n.org>
Date:
2003-08-01 07:17:46 UTC
List:
ruby-dev #21050
In article <5FD2F0CF7F5D7F44B00F36870B9E78B508DE505A@SBG-EX4>,
kkosako@softbank.co.jp writes:
> この目的のためだけに新しいprefixを導入するというのは、
> 無理かもしれませんね。
ちょっと必要性が薄いように思います。
> prefixを付けないとすると、田中さんの提案の中で、
> ローカル変数を生成する構文とメソッドの導入が良いと思います。
>
> /(?<name>...)/ = "abc"
> /(?<name>...)/.vmatch("abc")
= に関しては、後から思いついた問題点として = が右辺の値を返すという流
儀に従うと使いにくいものになりそうということがあります。やはりマッチし
たかどうかも調べたいですから、真偽値を返して欲しいですよね。
また、vmatch のような(普通の形で呼び出す)メソッドはちょっと私の意図に
は沿わないです。
私の意図をまとめ直すと、
* capture したものを $~["name"] を経由せずに直接変数に代入したい
/(?<name>...)/ =~ str
name = $~["name"]
というように name を 3回も書かなきゃいけないのは我慢できそうにない。
番号なら、
/(...)/ =~ str
name = $1
というように、繰り返しが無く、短く、$ の数も変わらないわけで、利点が
番号を数えなくていいだけというのはちょっとひきあわない。
* でも、プログラマが意図しない変数に代入されるのは嫌だ
var =~ str
というように Regexp (の named capture)がリテラルとして見えない時には
変数には代入しないで欲しい。
とくに、ユーザ入力から Regexp を生成したりすると変数を好き勝手にいじ
られかねないので少なくともデフォルトでは代入すべきでない。
というものなわけですが、後者の要求を満たそうとすると、どうしてもリテラ
ルとそれ以外の式を別に扱う必要があります。そのように式として評価すると
同じ値になるのに異なる扱いをするという仕掛けには、普通のメソッド呼び出
しという形式はあまりに普通すぎて、その特別扱いが違和感を生じるように思
います。
それに対し、= の左辺は評価される式じゃありませんから違和感がないわけで
すが、先に述べた通り他の = との返値に関する一貫性の問題があります。
で、もしかしたら、=~ や when が
/(?<name>...)/ =~ "abc"
case "abc"
when /(?<name>...)/
...
end
という形で使われた時を特別扱いするのがいいのではなかろうか、という気が
して来ました。これらは、形としてはメソッド呼び出しではないので、リテラ
ルの特別扱いによる違和感が少ないですし、新しい記法を導入しないので既存
の構文と自然に融合します。
また、ついでにいえば、現在の実装でも、/.../ =~ ... というのは特別扱い
されていて再定義が効かないので、再定義が効かなくなったと文句を言われる
こともない、というわけで。
--
[田中 哲][たなか あきら][Tanaka Akira]