我正在尝试将单词/字符串转换为 Ruby 中的数字,例如:-
ONE => 1
TWO => 2
THREE => 3
FOUR => 4
etc...
我已经看到了很多其他的例子(数字到单词);但是,我找不到如何将单词转换为数字的示例。如果我能对此有任何见解或帮助,那就太好了。
这可能会有所帮助:http ://www.rubyquiz.com/quiz25.html
编辑:错误地阅读问题。根据我在下面的评论,这是一种可以解决此问题的方法。
如果 num_to_word(number) 是您将数字转换为单词的方法:
def number_hash_creator(min, max)
number_hash = {}
for num in (min..max)
number_hash[num_to_word(num)] == num
end
number_hash
end
然后执行以下操作:
number_hash = number_hash_creator(min, max) # min and max are whatever you need them to be
number_hash['three']
=> 3
您还可以将类似的方法附加到字符串类,以便您可以执行以下操作"three".to_number
我为所有单词创建了一个最多二十个的哈希值,并且只为十个(三十、四十、五十等)。使用 Reg-ex 去掉两个单词并添加它们,例如 22 是 20+2=22 的加法;现在我的脚本只能工作到一百,但它可以扩展到超过 100 的数字等等。
我认为您会发现本教程非常有趣,尤其是底部附近的代码: