馬場と申します。
勉強会@関西ではお世話になりました。


ぐは、終わりかけている。

私は仕事でタブ区切りファイルを処理することが多いです。
お客さまからもらったファイルを1行ずつsplitして処理する
わけですが、もらうまで正式なフォーマットがわからなく、
予想でインデックス用定数を振ってプログラムを作るので、
enum のように変更が容易になる記法があったら嬉しいです。

私は enum の順に番号を振ってくれる機能がうらやましいの
ですが、他の方でこういう用途を欲している人がいないよう
なので、何か根本的にやり方が間違っているような気がしな
いでもありません。

今まで何の工夫もせずに腕力で定数を書いていたので、ちょ
っと反省して、以下のようなものを書いてみました。
------------------------------------------------------
#!/usr/bin/env ruby

def enum_const_set ary, start = 0, step = 1
   ary.each_index do |i|
      const_set ary[i], start + (i * step)
   end
end

class Tmp1
   enum_const_set %w(First Second Third)
end
class Tmp2
   enum_const_set [:First, :Third, :Fifth], 1, 2
end

if __FILE__ == $0
   puts "(1)", Tmp1::First, Tmp1::Second, Tmp1::Third
   puts "(2)", Tmp2::First, Tmp2::Third, Tmp2::Fifth
end
------------------------------------------------------
モジュールにして置けばそこそこ使えるかな?

もっと良い方法ありません?