関数/メソッドはRubyでオブジェクトではない数少ないものの1つであるため、ハッシュのキーまたは値として使用することはできません。オブジェクトである関数に最も近いものはprocです。したがって、これらを使用するのが最善です...
他の回答は、procを値としてハッシュに入れる方法のすべての可能な方法をほぼリストしていますが、それでも要約します;)
hash = {}
hash['variant1'] = Proc.new {|var| var + 2}
hash['variant2'] = proc {|var| var + 2}
hash['variant3'] = lambda {|var| var + 2}
def func(var)
var + 2
end
hash['variant4'] = method(:func) # the *method* method returns a proc
# describing the method's body
procを評価するさまざまな方法もあります。
hash['variant1'].call(2) # => 4
hash['variant1'][2] # => 4
hash['variant1'].(2) # => 4