[#5880] "Linux Journal Vol.6" carries an article on Ruby — Shin-ichiro HARA <sinara@...>

原です。

16 messages 1998/01/19
[#5881] Re: "Linux Journal Vol.6" carries an article on Ruby — matz@... (Yukihiro Matsumoto) 1998/01/19

まつもと ゆきひろです

[#5905] win and unix, and so on — TAKAHASHI Masayoshi <maki@...>

高橋と申します。はじめまして。しばらくROMしてました。

27 messages 1998/01/20
[#5906] Re: win and unix, and so on — matz@... (Yukihiro Matsumoto) 1998/01/20

まつもと ゆきひろです

[#5912] Re: win and unix, and so on — WATANABE Hirofumi <watanabe@...> 1998/01/20

わたなべです.

[#5922] Re: win and unix, and so on — Shin-ichiro HARA <sinara@...> 1998/01/20

原です。

[#5951] How to use TkMenu ? — Kikutani Makoto <kikutani@...>

きくたにです。

16 messages 1998/01/21
[#5952] Re: How to use TkMenu ? — matz@... (Yukihiro Matsumoto) 1998/01/21

まつもと ゆきひろです

[#6023] Comparison with Other Languages (Re: [python-ml-jp 54] Re: Reasons why I prefer to use Python) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

8 messages 1998/01/26

[#6055] Ruby連載 第3回 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

68 messages 1998/01/28
[#6057] Re: Ruby 連載 第 3 回 — Kikutani Makoto <kikutani@...> 1998/01/28

きくたにです。

[#6060] Re: Ruby 連載 第 3 回 — matz@... (Yukihiro Matsumoto) 1998/01/28

まつもと ゆきひろです

[#6073] Re: Ruby連載 第3回 — hisanori@... 1998/01/28

松尾です。こんばんは。

[#6089] Re: Ruby連載 第3回 — matz@... (Yukihiro Matsumoto) 1998/01/29

まつもと ゆきひろです

[#6119] man/date/time — Tadayoshi Funaba <tadf@...>

こんにちは、ちょっと訊きたいことがあります。

37 messages 1998/01/29
[#6128] lib/date.rb (Re: man/date/time) — matz@... (Yukihiro Matsumoto) 1998/01/30

まつもと ゆきひろです

[#6136] Re: man/date/time — keiju@... (石塚圭樹 ) 1998/01/30

けいじゅ@日本ラショナルソフトウェアです.

[#6155] Re: man/date/time — Tadayoshi Funaba <tadf@...> 1998/01/31

>すいません. ruby-devにだけポストしていました.

[ruby-list:5782] 多元配列の初期化と fill

From: Kikutani Makoto <kikutani@...>
Date: 1998-01-01 08:01:58 UTC
List: ruby-list #5782
あ、こっちは送りそこなっていたのか。

----------------------------
きくたにです。今年もよろしく。

多次元配列の初期化を簡単に行うにはどうすればいいのでしょう。
今はわからないのでこうやってます。

xyz = Array.new
for x in 0 .. 1
  xyz[x] = Array.new
  for y in 0 .. 2
    xyz[x][y] = Array.new
    for z in 0 .. 3
      xyz[x][y][z] = -1
    end
  end
end

なんかダサダサですね。
最初、

xyz = Array.new(2).each_index{|x|
  xyz[x] = Array.new(3).each_index{|y|
    xyz[x][y] = Array.new(4).fill(-1)
  }
}

とかしたのですが、これはだめでした。

あと、
foo = Array.new(size)
ってどうゆうときに使うのでしょうか?
size以上のを代入しても自動拡張されちゃいますよね。

fillの使い方もよくわかりません。

-------------------------------------------------
aaa = Array.new(3)
printf "size is %d\n", aaa.size
aaa.fill(10)
p aaa
aaa.fill(20, 0)
p aaa
aaa.fill(30, 0..2)
p aaa

aaa[4] = 5
printf "size is %d\n", aaa.size
aaa.fill(40)
p aaa
aaa.fill(50, 0)
p aaa
aaa.fill(60, 0..4)
p aaa
-------------------------------------------------
の結果です

size is 0
[]
[]
[30, 30, 30]
size is 5
[30, 30, 30, nil, 5]
[30, 30, 30, nil, 5]
[60, 60, 60, 60, 60]

代入前でsizeが0なときは、fillが効かないのはしかたがない気も
しますが(実はnewのsize分埋めてくれると期待してた)、
aaa.fill(40) では全部40になると思ってました。
aaa.fill(50, 0) でもマニュアルだと、省略時には配列の終りまで
とあるので、全部50になると思ってました。

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  kikutani@eis.or.jp hgf03701@niftyserve.or.jp
                          http://www.eis.or.jp/muse/kikutani/

In This Thread

Prev Next