[#29170] Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...>

18 messages 2001/04/10
[#30213] Re: Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...> 2001/06/13

[#29190] Time Stamp Copy of File.copy — "たけ(tk)" <ggb03124@...>

 ftools.rb の move では utime を行っていて日付が同じになりますが、copy

42 messages 2001/04/11
[#29193] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/11

まつもと ゆきひろです

[#29201] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/11

たけ(tk)です。

[#29203] Re: Time Stamp Copy of File.copy — WATANABE Hirofumi <eban@...> 2001/04/11

わたなべです.

[#29212] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29215] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/12

たけ(tk)です。

[#29220] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29234] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29236] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29238] Array#include! — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29244] Re: Array#include! — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29348] Open3 — NISHIO Mizuho <mzh@...>

どうも西尾です。

16 messages 2001/04/20

[#29397] rnet.rb 〜高レベルネットライブラリ〜 — rubikitch <rubikitch@...>

るびきちです。

11 messages 2001/04/24

[ruby-list:29191] Re: 配列に要素を挿入する

From: WATANABE Tetsuya <tetsu@...>
Date: 2001-04-11 05:30:47 UTC
List: ruby-list #29191
渡辺哲也です。

たぶんたくさん回答がくると思いますが...

Array クラスの場合実は簡単にできちゃいます。

以下は Array クラスのマニュアルの部分です。

------------------------------
self[start, length] = val
    
start番目からlength個の要素を配列 valの内容で置
き換えます.valが配列でな いときにはto_aメソッ
ドを使って配列に変換します. valの要素の数の方
が多い時には,後ろの要素がずれま す.ですから,
lengthが0の時にはインデックス直前の 位置への挿
入になります.
  
例:
    
ary = [1, 2, 3, 4, 5]
ary[0..2] = [0, 0] # 配列の内容は [0, 0, 4, 5]
ary[1, 0] = [7]    # 配列の内容は [0, 7, 0, 4, 5]
------------------------------

ここで最後の length が 0 の場合が挿入になってい
ます。

irb するとこんな感じです。

------------------------------
$ irb
irb(main):001:0> arr = [0, 1, 2, 3]
[0, 1, 2, 3]
irb(main):002:0> arr[1, 0] = [5, 6, 7]
[5, 6, 7]
irb(main):003:0> p arr
[0, 5, 6, 7, 1, 2, 3]
nil
------------------------------

同様に String クラスでも文字列に文字列や文字を
挿入することが可能です。

Array クラスも String クラスもとっても便利です。

In message "[ruby-list:29188] 配列に要素を挿入する"
    on 01/04/11, 島田 喜郎 <yoshimada@yahoo.co.jp> writes:

|島田喜郎と申します。Rubyをはじめたばかりのものです。

がんばってくださいね。

|配列に要素を挿入するメソッドを探しましたが見つかりません
|。そこで以下のようなメソッドを作りました。あまりスマートな感
|じがしないのですが、修正案、別案など教えていただけませんか。

ということでこんな感じで...

------------------------------
$ irb
irb(main):001:0> class Array
irb(main):002:1>  def insert(at, val)
irb(main):003:2>    self[at, 0] = val
irb(main):004:2>  end
irb(main):005:1> end
nil
irb(main):006:0> arr = [0, 1, 2]
[0, 1, 2]
irb(main):007:0> arr.insert(1, [7, 8])
[7, 8]
irb(main):008:0> p arr
[0, 7, 8, 1, 2]
nil
------------------------------

|また、レシーバー自身を変更するにはどのようにしたら良いで
|しょうか。

上記の例でいいでしょうか?

それと、要素以上の場所へ入れた場合です。

------------------------------
$ irb
irb(main):001:0> arr = [0, 1]
[0, 1]
irb(main):002:0> arr[10, 0] = [7,8,9]
[7, 8, 9]
irb(main):003:0> p arr
[0, 1, nil, nil, nil, nil, nil, nil, nil, nil, 7, 8, 9]
nil
------------------------------

あれこれ試してみてください。

-- 
WATANABE Tetsuya
 e-mail: Tetsuya_WATANABE@hp.com
         tetsu@jpn.hp.com

In This Thread