Ruby初心者スレッドPart4
■ このスレッドは過去ログ倉庫に格納されています
0877デフォルトの名無しさん
2006/03/22(水) 20:30:47こういうのはどうよ、とRuby初心者が提案してみるテスト。
def overload(args, pattern)
if pattern.kind_of? Integer
return if args.length != pattern
elsif pattern.kind_of? Array
return if args.length != pattern.length
pattern.each_index do |i|
return if !args[i].kind_of? pattern[i]
end
else
raise ArgumentError, "pattern = Integer | Array"
end
yield *args
end
def hoge(*args)
overload args, [Integer, Integer] do |x,y|
return x + y
end
overload args, [String, String] do |x,y|
return x.to_i + y.to_i
end
overload args, 3 do |x,y,z|
return x + y + z
end
end
■ このスレッドは過去ログ倉庫に格納されています