引数にメソッド追加してリテラル風にするんだったら

その後、色々考えていたらわざわざ専用クラスを作るような

小難しいことは考えずにハッシュを作るようにして

それを渡せば良いじゃん。って事に気づきました。

http://d.hatena.ne.jp/takkaw/20080721/p1

そこまでするなら、もういっその事インスタンス変数名まで指定しちゃったらいいんじゃね? とかおもた。
あと、個別にeachするならわざわざHashにしないでArrayの方が面倒がなくてよさそう。

# 仕込み
class Numeric
  def hz      ; [:@sample_rate, self]        ; end
  def khz     ; [:@sample_rate, self * 1000] ; end
  def bit     ; [:@sample_bit,  self]        ; end
  def channel ; [:@channels,    self]        ; end
  def ch      ; [:@channels,    self]        ; end
end

# 実際のWavクラス
class Wav
  def initialize *args
    args.each do |name, value|
      instance_variable_set name, value
    end
  end
end