[#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:38068] Re: Add option hash support to rb_scan_args()
At Sun, 22 Feb 2009 00:36:27 +0900,
matz wrote:
>
> まつもと ゆきひろです
>
> In message "Re: [ruby-dev:38057] Re: Add option hash support to rb_scan_args()"
> on Fri, 20 Feb 2009 22:31:25 +0900, Yusuke ENDOH <mame@tsg.ne.jp> writes:
>
> |キーワード引数らしい引数の受け取り方というと、C API より
> |Ruby レベルの方が気になります。
> |近い将来、新しい文法を導入する予定や構想はあるのでしょうか。
>
> 予定や構想はあります。が、時期はなんとも。2.0になりそうです
> し、その時期は完全に未定です。
[ruby-dev:23533] に提案がありますね。構文もさりながら、C APIの
設計もなかなか大変そうです。argc/argvで表せないと多くのAPIを直す
必要が出てくるとか、受け渡しはfirst classなHashでいいのかとか、
引数解析のパフォーマンスはどうかとか。
> |例えば、こんな感じに書けるとか。
> |
> | def foo(x, y, z, a: "a", b: "b", c: "c")
> | p [x, y, z, a, b, c]
> | end
> |
> | foo(1, 2, 3, c: "X") #=> [1, 2, 3, "a", "b", "X"]
>
> という風に書けるようにしたいと思っています。
順序なし名前引数というのもあった方がいいんじゃないでしょうか。
でないと、順序に依存した用法が広まって引数を廃止することが難しく
なりそうです。
あとは、
- 必須引数にも名前を付けたい
- 実装上仮引数名は短くしたいがAPIとしての名前(キーワード)は長く
わかりやすくしたい
という要求も考慮し、名前に加えて仮引数名も指定できるように考えて
みたのが以下の構文です。
# Ruby
def meth(mand1: var1, # leading mandatory argument(s)
opt1: var2=val, # ordered optional argument(s)
*varlen: var3, # variable length arguments
mand2: var4 # ordered mandatory argument(s)
opt2:: var5=val # unordered argument(s)
**var6, # all arguments in hash
&block)
# ..
end
# The var1, var2, var3, var4, var5 parts (formal parameter names)
# above are omittable.
methodname(x, y) # := meth(mand1: x, mand2: y)
methodname(x, z, y) # := meth(mand1: x, opt1: z, mand2: y)
methodname(x, y, varlen: l) # := meth(mand1: x, varlen: l, mand2: y)
methodname(x, y, :varlen => l) # ditto
#methodname(x, y, h) # not allowed anymore
methodname(x, y, **h) # but hash splat is instead
a = [x, y]
h = { opt1: m, opt2: n }
methodname(*a, **h) # := meth(mand1: x, opt1: m, mand2: y, opt2: n)
h1 = { mand1: x, mand2: y, opt1: r }
h2 = { opt1: p, opt2: q }
methodname(**h1, **h2) # := meth(**(h1.merge(h2)))
--
Akinori MUSHA / http://akinori.org/