[#41918] [Feature #3647] Array#sample(n, replace=false) — Kenta Murata <redmine@...>

Feature #3647: Array#sample(n, replace=false)

11 messages 2010/08/03

[#41966] [Bug #3673] PTY.getpty with IO.pipe doesn't finish on FreeBSD — Yui NARUSE <redmine@...>

Bug #3673: PTY.getpty with IO.pipe doesn't finish on FreeBSD

9 messages 2010/08/10

[#41969] [Feature #3675] String#prepend, String#>> — Sora Harakami <redmine@...>

Feature #3675: String#prepend, String#>>

15 messages 2010/08/10
[#41976] Re: [Feature #3675] String#prepend, String#>> — Yukihiro Matsumoto <matz@...> 2010/08/10

まつもと ゆきひろです

[#41974] Re: [ruby-cvs:36157] Ruby:r28955 (trunk): * complex.c (nucomp_to_[ifr]): don't allow complex with in-exact — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

7 messages 2010/08/10

[#42003] WEBrickに関するセキュリティ修正 (CVE-2010-0541) — Hideki Yamane <henrich@...>

12 messages 2010/08/11

[#42090] Math::atan2(0, 0) on ruby 1.9.2 — KUBO Takehiro <kubo@...>

久保です。

18 messages 2010/08/22
[#42092] Re: Math::atan2(0, 0) on ruby 1.9.2 — Kenta Murata <muraken@...> 2010/08/22

=1B$B$`$i$?$G$9!#=1B(B

[#42166] Ruby'sライセンスの、BSDLとのデュアルライセンスへの変更 — "NARUSE, Yui" <naruse@...>

Ruby's ライセンスは BSDL と Ruby's のデュアルライセンスになります。

14 messages 2010/08/31

[ruby-dev:41994] Re: [Feature #3675] String#prepend, String#>>

From: masayoshi takahashi <maki@...>
Date: 2010-08-11 03:57:45 UTC
List: ruby-dev #41994
高橋征義です。こんにちは。

2010年8月11日10:20 U.Nakamura <usa@garbagecollect.jp>:
> In message "[ruby-dev:41976] Re: [Feature #3675] String#prepend, String#>>"
>    on Aug.10,2010 22:23:13, <matz@ruby-lang.org> wrote:
>> (2) >> というのは考えてもみなかった面白い記法です。しかし、
>>     現状の文字列のメソッドで、引数のほうに破壊的な変更を加え
>>     るメソッドはなかったように思うので、やや躊躇します。もっ
>>     とも、Stringクラスでなければ、引数に破壊的な変更を加える
>>     メソッドはいくつもあるので、気にすることではないのかもし
>>     れません。
>>
>> 他の方のご意見も聞きたいです。
>
> 訓練されたRubyistは>>をメソッドとして見てしまうので「引数の方
> に破壊的な変更を加える」と思ってしまうわけですが、字面だけ見
> れば右項が変更されるのは割と素直な解釈なんじゃないかと思いま
> す。
> というわけで、悪くないんじゃないでしょうか。

訓練されているかどうかはさておき、素直な解釈としては、String#<<との
対比が気になります。
現状、

a = "aaa"
b = "bbb"
c = "ccc"
d = a << b << c
p [a,b,c,d] #=> ["aaabbbccc", "bbb", "ccc", "aaabbbccc"]

となるわけですが、

x = "xxx"
y = "yyy"
z = "zzz"
w = x >> y >> z
p [x,y,z,w]

は
["xxx", "xxxyyy", "xxxyyyzzz", "xxxyyyzzz"]
となるのでしょうか?
なんとなく、
["xxx", "yyy", "xxxyyyzzz", "xxxyyyzzz"]
となってほしいような気もするのですが、そうすると結合ルール的に
困った感じでしょうか。

でも、yが破壊されるのも形としては自然なんですかねえ。ちょっと
判断しづらいところです。

高橋征義

In This Thread