[#28942] FUNC_CDECL/FUNC_STDCALL are not defined? — KIMURA Koichi <kimura.koichi@...>

木村です。

24 messages 2006/07/03
[#28943] Re: FUNC_CDECL/FUNC_STDCALL are not defined? — "U.Nakamura" <usa@...> 2006/07/03

こんにちは、なかむら(う)です。

[#28945] Re: FUNC_CDECL/FUNC_STDCALL are not defined? — Takaaki Tateishi <ttate@...> 2006/07/03

U.Nakamura wrote:

[#28946] Re: FUNC_CDECL/FUNC_STDCALL are not defined? — "U.Nakamura" <usa@...> 2006/07/03

こんにちは、なかむら(う)です。

[#29006] block wrapper — Tanaka Akira <akr@...>

以前、[ruby-dev:28747] の pp.rb の問題を解決するのに

44 messages 2006/07/10
[#29007] Re: block wrapper — Yukihiro Matsumoto <matz@...> 2006/07/10

まつもと ゆきひろです

[#29008] Re: block wrapper — Tanaka Akira <akr@...> 2006/07/10

In article <1152541094.492146.23781.nullmailer@x31.priv.netlab.jp>,

[#29009] Re: block wrapper — Yukihiro Matsumoto <matz@...> 2006/07/10

まつもと ゆきひろです

[#29010] Re: block wrapper — Tanaka Akira <akr@...> 2006/07/10

In article <1152542689.441125.24418.nullmailer@x31.priv.netlab.jp>,

[#29022] Re: block wrapper — Tanaka Akira <akr@...> 2006/07/12

In article <87psgd8qb2.fsf@fsij.org>,

[#29078] Re: block wrapper — Tanaka Akira <akr@...> 2006/07/19

In article <87r70rdpeg.fsf@fsij.org>,

[#29466] Re: block wrapper — Tanaka Akira <akr@...> 2006/09/04

In article <871wshddvn.fsf@fsij.org>,

[#29584] Re: block wrapper — Tanaka Akira <akr@...> 2006/09/16

In article <87ac5g5a7i.fsf@fsij.org>,

[#29616] Re: block wrapper — Tanaka Akira <akr@...> 2006/09/26

In article <8764foo7s7.fsf@fsij.org>,

[#30777] Re: block wrapper — Tanaka Akira <akr@...> 2007/05/11

In article <87venar27i.fsf@fsij.org>,

[#30778] Re: block wrapper — Yukihiro Matsumoto <matz@...> 2007/05/11

まつもと ゆきひろです

[#30780] Re: block wrapper — Tanaka Akira <akr@...> 2007/05/12

In article <1178883053.645482.13087.nullmailer@x31.netlab.jp>,

[#30781] Re: block wrapper — Yukihiro Matsumoto <matz@...> 2007/05/12

まつもと ゆきひろです

[#30840] Re: block wrapper — Tanaka Akira <akr@...> 2007/05/30

In article <1178978140.846301.8164.nullmailer@x31.netlab.jp>,

[#30843] Re: block wrapper — Yukihiro Matsumoto <matz@...> 2007/05/30

まつもと ゆきひろです

[#30848] Re: block wrapper — SASADA Koichi <ko1@...> 2007/05/31

 ささだです。

[#30850] Re: block wrapper — Yukihiro Matsumoto <matz@...> 2007/05/31

まつもと ゆきひろです

[#30855] Re: block wrapper — Tanaka Akira <akr@...> 2007/05/31

In article <E1HtaMS-00041i-6U@x31>,

[#29013] problem in bignorm — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2006/07/10
[#29016] Re: problem in bignorm — Yukihiro Matsumoto <matz@...> 2006/07/11

まつもと ゆきひろです

[#29018] Re: problem in bignorm — "U.Nakamura" <usa@...> 2006/07/11

こんにちは、なかむら(う)です。

[#29019] Re: problem in bignorm — "U.Nakamura" <usa@...> 2006/07/11

こんにちは、なかむら(う)です。

[#29038] irb completion — Tadayoshi Funaba <tadf@...>

ふなばです。

22 messages 2006/07/17
[#29063] Re: irb completion — keiju@... (石塚圭樹) 2006/07/18

けいじゅ@いしつかです.

[#29064] Re: irb completion — Yukihiro Matsumoto <matz@...> 2006/07/18

まつもと ゆきひろです

[#29070] Re: irb completion — Ryan Davis <ryand-ruby@...> 2006/07/18

[#29093] Re: [ruby-cvs:17195] ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Tanaka Akira <akr@...>

In article <20060720173258.5D4BAC6781@lithium.ruby-lang.org>,

14 messages 2006/07/20
[#29096] Re: ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Yukihiro Matsumoto <matz@...> 2006/07/20

まつもと ゆきひろです

[#29097] Re: ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Tanaka Akira <akr@...> 2006/07/20

In article <1153423941.406034.21948.nullmailer@x31.priv.netlab.jp>,

[#29098] Re: ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Yukihiro Matsumoto <matz@...> 2006/07/20

まつもと ゆきひろです

[#29099] Re: ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Tanaka Akira <akr@...> 2006/07/20

In article <1153425319.663162.22588.nullmailer@x31.priv.netlab.jp>,

[#29101] Re: ruby/test/rss: * object.c (rb_mod_attr): make Module#attr to be an alias to — Yukihiro Matsumoto <matz@...> 2006/07/21

まつもと ゆきひろです

[#29148] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — WATANABE Hirofumi <eban@...>

わたなべです。

31 messages 2006/07/27
[#29149] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — "NARUSE, Yui" <naruse@...> 2006/07/27

成瀬です。

[#29151] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/07/27

まつもと ゆきひろです

[#29152] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — URABE Shyouhei <root@...> 2006/07/27

卜部です

[#29153] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/07/27

まつもと ゆきひろです

[#29155] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — URABE Shyouhei <root@...> 2006/07/27

卜部です。

[#29157] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — "NARUSE, Yui" <naruse@...> 2006/07/27

成瀬です。

[#29159] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/07/27

まつもと ゆきひろです

[#29440] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — "NARUSE, Yui" <naruse@...> 2006/09/03

成瀬です

[#29462] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/09/04

まつもと ゆきひろです

[#29467] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — "NARUSE, Yui" <naruse@...> 2006/09/04

成瀬です。

[#29472] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/09/04

まつもと ゆきひろです

[#29483] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — "NARUSE, Yui" <naruse@...> 2006/09/05

成瀬です。

[#29488] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29494] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Tadayoshi Funaba <tadf@...> 2006/09/05

ふなばです。

[#29497] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29513] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Tadayoshi Funaba <tadf@...> 2006/09/06

> 郵便局の消印は採用できないんですが、なにが良いと思いますか。

[#29516] Re: [ruby-cvs:17256] ruby, ruby: * time.c (time_to_s): generate RFC822 style date string. — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[ruby-dev:29017] Re: def m(a=nil, b)

From: Tanaka Akira <akr@...>
Date: 2006-07-11 04:40:40 UTC
List: ruby-dev #29017
In article <1152591627.920490.5173.nullmailer@x31.priv.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> |ふと、1.9 なら (TCPServer#initialize のように) 第一引数を省
> |略可能なメソッドを def m(a=nil, b) と定義できるのではなかろ
> |うか、と想像し、試してみたのですが、できないようです。
>
> できません。
>
> |def m(a=nil, *x, b) end なら通るわけですが、どうも私はこの機
> |能を「必須引数を最後につけられる」と理解していたようです。
>
> えーと、現状、これは「rest引数から必須引数を引き剥がす」機能
> ですね。

引き剥がす、という表現を使うなら、以下の動作を見る限り、rest
引数だけでなく optional引数からも引き剥がします。

% ./ruby -e '
def m(a, b=nil, *c, d)
  p [a,b,c,d]
end
m(1,2)'
[1, nil, [], 2]

% ./ruby -e '
def m(a, b=nil, *c)   
  p [a,b,c]  
end
m(1,2)'
[1, 2, []]

lm(a, b=nil, *c) で b に入っていた引数が引き剥がされて、
m(a, b=nil, *c, d) では d に入っています。

従って、「rest引数から必須引数を引き剥がす」機能という説明は
現在の実装に合っていないように思います。

私としては、適切な説明は「必須引数を後ろにもつけられる」機能
であると予想したわけですが、そうでもないとすると、どう説明す
るのでしょう?

>   def m(a=nil, b)
>
> の場合、rest引数がありません(から現状は許されない)。これを許
> した場合、m(1)とした場合、順序を優先するなら1はaに代入される
> べきではないかと。順序を優先しないなら、むしろキーワード引数
> (名前付き引数)のようなものが望ましいと思います。

上記のように、optional 引数からも引き剥がすので、1 は b に代
入されると私は予想しました。

キーワード引数が欲しいというのはそれはそれでありますが、この
件については考えていませんでした。

> |def m(a=nil, *x, b) end なら通るわけですが、どうも私はこの機
> |能を「必須引数を最後につけられる」と理解していたようです。
> |
> |実際にはそう実装されてはいなかったわけですが、すこし考えてみ
> |たところ、そうであってはいけない理由も思い付かず、また、
> |TCPServer#initialize のようにそう考えたほうが便利な例もあり
> |ます。
>
> 個人的にはTCPServerのアレはあまり良いAPIであるとは思っておら
> ず、それを支援する機能をつけることにも消極的です。やりたけれ
> ば自分でやってね、と。
>
> 実装が今よりも大変というのもあるのですが、それは面倒なだけで
> 不可能でも困難でもないのですが、それだけの動機づけはないな、
> と。

なるほど。まぁ、支援したくないのであれば実装しないのは有りで
すが、説明と実装が合っていないのはどうかと思います。

もちろん、説明困難な挙動はすでにいくらでもあるわけでもありま
すが...
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread