[#19261] lstripped here-document (Re: comments and continuing strings on the next line) — nobu.nakada@...

なかだです。

29 messages 2003/01/01
[#19360] Re: lstripped here-document (Re: comments and continuing strings on the next line) — "K.Kosako" <kosako@...> 2003/01/15

nobu.nakada@nifty.ne.jpさんの

[#19361] Re: lstripped here-document (Re: comments and continuing strings on the next line) — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/01/15

なひです。

[#19364] Re: lstripped here-document (Re: comments and continuing strings on the next line) — nobu.nakada@... 2003/01/17

なかだです。

[#19366] Re: lstripped here-document (Re: comments and continuing strings on the next line) — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/01/17

なひです。

[#19299] [BUG] errno == 0 — Kazuhiro Yoshida <moriq@...>

もりきゅうです。win32だけかもしれません。

22 messages 2003/01/04
[#19301] Re: [BUG] errno == 0 — "U.Nakamura" <usa@...> 2003/01/04

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

[#19302] Re: [BUG] errno == 0 — "U.Nakamura" <usa@...> 2003/01/04

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

[#19303] Re: [BUG] errno == 0 — "U.Nakamura" <usa@...> 2003/01/04

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

[#19304] Re: [BUG] errno == 0 — "U.Nakamura" <usa@...> 2003/01/04

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

[#19306] Re: [BUG] errno == 0 — nobu.nakada@... 2003/01/05

なかだです。

[ruby-dev:19277] Re: ruby-1.8.0 / yield(nil)とyield()の

From: Masatoshi SEKI <m_seki@...>
Date: 2003-01-01 12:41:23 UTC
List: ruby-dev #19277
咳といいます。

1.6.8のときのノウハウとか思い出してきました。
1.7系で追加されたProc#yieldを使おうとしてはまってしまったようです。> 咳

1.6.8ではyieldを真似するために [argv].collect(&obj)[0] を使ってました。
次のようにすることでRuby相当の挙動をさせています。
(__drb_yieldがyield相当です。)

     def obj_send(obj, msg_id, *argv)
       if Proc === obj && msg_id == :__drb_yield
         if argv.size == 1
           ary = argv
         else
           ary = [argv]
         end
         if false        # FIXME
           ary.collect(&obj)[0]
         else
           it = ary.collect(&obj)
             raise(LocalJumpError, 'break from proc-closure') if it.nil?
           it[0]
         end
       else
         obj.__send__(msg_id, *argv)
       end
     end

今日のまつもとさんの変更で1.6.8と同様にすることで動きそうです。> まつもとさん感謝
でも新たな問題がでちゃいました。そっちは別メールにします。


*argでうけてyield(*arg)するのであれば、田中さんが指摘されている
ケースの仕様が変わらないとだめそうですね。
# 以前気付いてメモしておいたのを忘れてました。すみません。

> とするのと、[ruby-dev:19231] で推奨されている、いったん |*a| で受けて
> yield *a で渡すというのに対応する
>
>> |> def f; yield [[]]; end; f {|*a| test_ok(a, [[]])}
>> |> def f; yield *[[]]; end; f {|a| test_ok(a, [])}
>
> というので結果が異なるのは wrapper になってないからまずいだろう、とい
> うことです。
>
> つまりこれも |*a| で受けて yield *a とするのがいいだろうという話に対す
> る反例の提示です。


In This Thread