トップ «前の日記(2006年01月09日) 最新 次の日記(2006年01月17日)» 編集

ohai日誌

2003|12|
2004|01|02|03|04|05|06|07|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|06|08|10|11|
2008|01|02|03|04|05|07|09|
2009|01|02|
2013|06|12|
2014|01|02|03|04|06|09|10|12|
2015|04|
2016|09|
2018|02|

2006年01月10日

_ Rubyに型チェック機構をつけてみる

簡単な型チェック機構を実装してみました。 rtyper.rbです。 以下のようにして利用します。

require 'rtyper'

class Moge
  extend Bydo

  declare :f, Integer, :* => [Numeric], :ret => Numeric
  def f(n,*rest)
    (rest.inject{|x,y| x+y})**n
  end
end

p Moge.new.f(2, 1.2, 4, 3.5)
p Moge.new.f(2, "abc", "def", "ghi") # => Error!

まあある種の表明としてPHPの型チェックくらいには役に立つかもしれません。 型チェック機構の利点は主に実行前にチェックできることだと思うので どうなんだろうとは思います。Duck typingとも相容れませんしね。

契約によるプログラミングをサポートするくらい強力な機構であれば 有用でしょう。


トップ «前の日記(2006年01月09日) 最新 次の日記(2006年01月17日)» 編集