我看了一下发送方法的名称,如红宝石参数,但是在我的情况下,我想允许用户选择文摘格式并使用答案设置摘要类型:传递一个常量名到另一个方法
def hash_digest(file, argument)
format = Digest::argument.new #using the argument here
...
end
hash_digest(filename, :MD5)
我曾尝试:
def hash_digest(file, argument)
format = Digest::send(argument).new
...
end
hash_digest(filename, :MD5)
但我得到一个没有方法'MD5' 的错误,尽管MD5是在摘要方法的有效算法。确切的错误是:
send': undefined method MD5' for Digest:Module (NoMethodError) –
这是可能的红宝石?
我不认为这是可能的。 –
你可能是对的,我想我会看看是否有人有任何漂亮的技巧! –
'Digest.const_get(:MD5).new' –