[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>

これつぐです。

21 messages 1999/12/05
[#8534] Re: Enumerable and rand — matz@... (Yukihiro Matsumoto) 1999/12/06

まつもと ゆきひろです

[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>

小松です。

19 messages 1999/12/07
[#8592] Re: [ruby-list:19228] Ruby 1.4.3 — matz@... (Yukihiro Matsumoto) 1999/12/07

まつもと ゆきひろです

[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

47 messages 1999/12/14
[#8646] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/14

なひです.

[#8653] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/14

まつもと ゆきひろです

[#8656] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/15

なひです.

[#8659] Re: urllib and httplib — Wakou Aoyama <wakou@...> 1999/12/15

青山です。

[#8685] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/12/21

なひです.

[#8687] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/21

高橋征義です。

[#8690] Re: urllib and httplib — matz@... (Yukihiro Matsumoto) 1999/12/21

まつもと ゆきひろです

[#8717] Re: urllib and httplib — TAKAHASHI Masayoshi <maki@...> 1999/12/24

高橋征義です。

[#8963] Re: urllib and httplib — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/19

なひです.

[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>

新井です。

20 messages 1999/12/14
[#8651] Re: [PATCH] Ruby/Tk — Koji Arai <JCA02266@...> 1999/12/14

新井です。

[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>

金子です。

22 messages 1999/12/21
[#8695] Re: [win] dir name — Koji Oda <oda@...1.qnes.nec.co.jp> 1999/12/22

小田@QNES です。

[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>

青山です。

18 messages 1999/12/27
[#8743] Re: [ruby-list:19945] Re: array + empty string — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>

西@九大です。

64 messages 1999/12/27
[#8744] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8748] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/28

西@九大です。

[#8751] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/28

まつもと ゆきひろです

[#8767] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...> 1999/12/29

西@九大です。

[#8777] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/30

まつもと ゆきひろです

[#8791] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Minero Aoki <aamine@...> 1999/12/31

あおきです。

[#8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 1999/12/31

まつもと ゆきひろです

[#8793] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — ARIMA Yasuhiro <fit0298@...> 1999/12/31

有馬です。

[#8795] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 1999/12/31

 knuです。

[#8798] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — matz@... (Yukihiro Matsumoto) 2000/01/01

まつもと ゆきひろです

[#8811] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Akinori MUSHA aka knu <knu@...> 2000/01/03

 knuです。

[ruby-dev:8787] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)

From: EGUCHI Osamu <eguchi@...>
Date: 1999-12-31 02:00:54 UTC
List: ruby-dev #8787
えぐち@エスアンドイー です。

>>> In message [ruby-dev:8782] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)
    On Thu, 30 Dec 1999 23:46:38 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) said:

matz> まつもと ゆきひろです
matz> 
matz> In message "[ruby-dev:8779] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)"
matz>     on 99/12/30, EGUCHI Osamu <eguchi@shizuokanet.ne.jp> writes:
matz> 
matz> |matz> 語彙については「できないもの」に比べて優先度が下がる傾向があ
matz> |matz> ります。特に曖昧でない名前が必要です。pop(3), shift(3)がそう
matz> |matz> かというと少し躊躇があります。
matz> |matz> 
matz> |matz> いや、そんなに悪いとも思わないんですけどね。
matz> 
matz> まあ、[ruby-dev:8773]で中田さんが指摘された
matz> 
matz>   popは要素を返すが、pop(n)は配列を返す
matz> 
matz> という問題はちょっとヤな感じですね。

同じクラスの同じメソッドが、状況によって違うクラスを返す事は、
稀ですがありますが、この場合がやしかに「ヤな感じ」ですね。
はっきり区別された名前が必要だと言う事でしょうけど。

matz> |keyword 引数が実現されたら、
matz> |
matz> |  x = ary.delete(last: 3)    # 最後3つを削除、それを要素とする配列をかえす。
matz> |  ary.delete(at: 10)         # ary.delete_at(10) と同義
matz> |
matz> |なんて事ができますか?
matz> 
matz> 原理的には可能でしょう。ただ、このようなある種文法を持つよう
matz> なキーワードの使い方が妥当かどうかはまだ不明です。実際にキー
matz> ワード引数が使えるようになって、いろいろ経験を積むことでどの
matz> ような使い方が良いのか分かってくるのではないでしょうか。

キーワード引数の用途としては、ちょっと変な例だったかもしれませんが、

  ary.delete_first(), ary.delete_last(),  ary.delete_range() ...

の様に組合せが無数に出来る、多くのメソッドよりとどちらがいいか
と言うのは、微妙な所だと思います。
#そんなに直行的に機能をテンコモリにしなくてもいいと言う話も...^^;;;

matz> しかし、その前にこの殺人的なスケジュールをなんとかしないと。
matz> 正月休みもないぞ。

暮れに来て大変ですね。

matz> |matz>    ary.splice(0, 2, nil)
matz> |matz>    ary.splice(-3..-1, nil)
matz> |matz> 
matz> |matz> とか指定できた方が良いかなあ。
matz> |
matz> |あと、削除した位置に nil を残さない方が希望の動作なのでは、
matz> |#毎回 compact! するのも面倒でしょ (^^)
matz> 
matz> 内部で使っているreplaceはnilを[]と扱うようにしてますので、余
matz> 計なnilまで削除してしまいかねないcompact!は不要です。
matz> これが妥当かというのは議論の余地があるのですが。

あぁ、それで nil を [] とみなしているんですね。
#うぅむ、 Lisp みたいだぁ。

「配列が期待される所に nil が使われた場合 [] とみなす」
というのは、今後一般に適用される事ですか?

	えぐち

In This Thread