エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Ruby のメソッドの引数や戻り値には型指定がないけど、それを指定できるような仕組みをつくってみました... Ruby のメソッドの引数や戻り値には型指定がないけど、それを指定できるような仕組みをつくってみました。 module Strict def strict(name, &block) @returns = Object @arguments = [] block.call m = instance_method(name) ret_type, arg_type = @returns, @arguments define_method name do |*args| c = caller args.each_with_index do |arg, i| next unless arg_type[i] raise TypeError, "argument #{i+1}: #{arg.inspect} is not kind of #{arg_type[i]}", c unless arg_ty