From: toyofuku@... Date: 1997-09-18T02:45:46+09:00 Subject: [ruby-list:4380] initialize structure array 豊福@パパイヤです。 構造体的なもの(例えば x,y座標)の配列の 初期化をすっきり書くとしたらどう書くのがよい でしょうか。 現在次の二つを考えています。 (1) def Coord(x, y) Coord.new(x, y) end class Coord attr :x, TRUE attr :y, TRUE def initilize(x, y) @x = x @y = y end end points = [ Coord(1, 2), Coord(2, 3), ... ] print points[1].x, points[1].y (2) class Array def x self[0] end def x=(z) self[0] = z end def y self[1] end def y=(z) self[1] = z end end points = [ [1, 2], [2, 3], ... ] print points[1].x, points[1].y (1) は素直な書き方だと思うがすべてに Coord() がついているのがちょっとうっとうしい。 (2) は (1) のように Coord()をつけなくてよいが Array でやるのはちょっと無理があるか。 他にも何かよい方法があったら教えて下さい。 --- 豊福@パパイヤ unbound@papaya.juice.or.jp toyofuku@juice.or.jp