[#41531] [Bug #3385] ext/dbm: accept various version of db — Takahiro Kambe <redmine@...>

Bug #3385: ext/dbm: accept various version of db

10 messages 2010/06/03

[#41600] 質問・提案:cgi.rbの後継となるライブラリについて — Dice <tetradice@...>

Diceです。cgi.rbの後継ライブラリについて質問させてください。

16 messages 2010/06/13
[#41606] Re: 質問・提案:cgi.rbの後継となるライブラリについて — Fujioka <fuj@...> 2010/06/14

藤岡です。

[#41607] Re: 質問・提案:cgi.rbの後継となるライブラリについて — KAKUTANI Shintaro <shintaro.kakutani@...> 2010/06/14

かくたにです。

[#41616] Re: 質問・提案:cgi.rbの後継となるライブラリについて — Dice <tetradice@...> 2010/06/15

藤岡さん、かくたにさん、返信ありがとうございます。

[#41617] Re: 質問・提案:cgi.rbの後継となるライブラリについて — Fujioka <fuj@...> 2010/06/16

藤岡です。

[#41656] Re: 質問・提案:cgi.rbの後継となるライブラリについて — Dice <tetradice@...> 2010/06/20

Diceです。藤岡さん、返信ありがとうございます。

[#41623] [Feature:trunk] argument delegation — Nobuyoshi Nakada <nobu@...>

なかだです。

23 messages 2010/06/16
[#41625] Re: [Feature:trunk] argument delegation — Yusuke ENDOH <mame@...> 2010/06/16

遠藤です。

[#41627] Re: [Feature:trunk] argument delegation — Yukihiro Matsumoto <matz@...> 2010/06/16

まつもと ゆきひろです

[#41702] WIN32OLE_METHOD offset_vtbl — kuwamoto shintaro <beuniv@...>

こんばんわ

16 messages 2010/06/23
[#41712] Re: WIN32OLE_METHOD offset_vtbl — Masaki Suketa <masaki.suketa@...> 2010/06/24

助田です。

[ruby-dev:41637] Re: [Feature:trunk] argument delegation

From: Yukihiro Matsumoto <matz@...>
Date: 2010-06-17 06:15:27 UTC
List: ruby-dev #41637
まつもと ゆきひろです

In message "Re: [ruby-dev:41631] Re: [Feature:trunk] argument delegation"
    on Thu, 17 Jun 2010 12:05:22 +0900, Tanaka Akira <akr@fsij.org> writes:

|そういう流れで今回のを見ると、あり得る方向だと思うわけですが、
|2つ懸念があります。
|
|今は普通の引数とブロック引数のふたつしかないので、
|ひとつを変えるなら、残りはひとつしかありません。
|したがって、残りすべてを引き渡すのはひとつ書けば済みます。
|
|しかし、キーワード引数が入るとみっつになるので、
|ひとつを変えるなら、残りはふたつになります。
|残りすべてを引き渡すのにふたつ書く必要が出てきます。
|おそらくこれはうれしくないでしょう。

「ひとつを変える」という意味がいまいち読み取れなかったのです
が、これはたとえば、「通常の引数の前にひとつ別の引数を加える」
とか、「通常引数は同じだが、渡すブロックだけ変える」とかそう
いう意味なんでしょうか。

だとすると、おっしゃることは理解できます。ただし、いまのとこ
ろキーワード引数は通常の引数の一部として扱おうと思っているの
で、あまり問題にはならないかもしれません。

|もうひとつは define_method や lambda との関連です。
|
|... という構文には名前が入っていないので、
|
|def f(a)
|  lambda {|b|
|    g(...)
|  }
|end
|
|としたときに ... はどの引数を指すのか不明です。

確かに。ただし、「一番内側の引数」とか「lambdaは無視、メソッ
ドの引数」でもどちらでもあまり問題ないような気もします。とい
うのも、この記法は、できないことをできるようにするものではな
くて、めんどくさいものをより楽に表現しようというものですから、
仕様の複雑化を避けてある程度で「あきらめる」というのは十分あ
りえる判断だと思います。

|仕様としてどちらかに固定することはできるでしょうが、
|プログラマが選べるような構文にはなっていません。
|
|そのうち、選べるようにする構文が要求されるようになるんじゃないでしょうか。

そのような仕様のひとつの案としては、「...」そのものを式として
しまって、その値を[ruby-talk:162561]で示されたようなオブジェ
クトにする方法がありますね。その場合には「**」と「**obj」の方
が良いかもしれませんが。

つまり、

  def f(a)
    c = **
    lambda {|b|
      g(**c)    # aを渡す
    }
  end

  def f(a)
    lambda {|b|
      g(**)    # bを渡す
    }
  end

ということですね。ただ、over specな印象があります。

                                まつもと ゆきひろ /:|)

In This Thread