丁稚な日々

Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。
Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません...

[直前] [最新] [直後] [Top]

Mar.24,2006 (Fri)

Revision: 1.1 (Mar.24,2006 19:01)

SIGALRM

_ 結... じゃなかった、rubycoさんから感謝されてますが、むしろ問題を指摘してくださったrubycoさんに感謝です。

_ で、実はもう1件あるんだよね...

Mar.27,2006 (Mon)

Revision: 1.2 (Mar.27,2006 22:13)

Mar.28,2006 (Tue)

Revision: 1.1 (Mar.28,2006 18:44)

Mar.30,2006 (Thu)

Revision: 1.2 (Mar.30,2006 23:02)

[Web] enum

_ 2chの初心者スレの220-227あたりを見て書いてみた。

class SymbolList
  UnknownSymbolError = Class.new(RuntimeError)

  def initialize(*args)
    @hash = Hash.new{|h, k| h[k] = k}
    args = *args if args[0].is_a? Array
    args.each do |v|
      @hash[v.to_sym]
    end
    @hash.freeze
  end

  def method_missing(sym, *args)
    begin
      @hash[sym]
    rescue RuntimeError => e
      raise UnknownSymbolError, "unknown symbol `#{sym}'", e.backtrace[3..-1]
    end
  end
end

State = SymbolList.new(:foo, :bar, :baz)
state = State.foo
puts "Foo" if state == State.foo
puts "foo" if state == State.hoo

_ どう見てもオーバーキルです。本当にあり(ry


被捕捉アンテナ類
[\ay antenna (testing)] [Ant] [Antenna-Julia] [LayserあんてなV2] [nAntenna] [nuance de Antenna] [Rabbit's Antenna] [Read List] [Ruby hotlinks 五月雨版 (るるりん。)] [してたま (私的アンテナ with たまてばこ)] [ただのあんてな] [ちゃらんぽらん] [でこぽんリンク] [なよろアンテナ] [にっきトレーサー] [偽善者あんてな - 2nd season -] [湘南日記放送局(SDB)] [はてなの各アンテナ]