1

我正在尝试将单词/字符串转换为 Ruby 中的数字,例如:-

ONE => 1 
TWO => 2  
THREE => 3 
FOUR => 4 
etc...

我已经看到了很多其他的例子(数字到单词);但是,我找不到如何将单词转换为数字的示例。如果我能对此有任何见解或帮助,那就太好了。

4

3 回答 3

0

这可能会有所帮助: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

于 2012-08-09T22:03:22.593 回答
0

我为所有单词创建了一个最多二十个的哈希值,并且只为十个(三十、四十、五十等)。使用 Reg-ex 去掉两个单词并添加它们,例如 22 是 20+2=22 的加法;现在我的脚本只能工作到一百,但它可以扩展到超过 100 的数字等等。

于 2012-08-10T15:03:36.463 回答
0

我认为您会发现本教程非常有趣,尤其是底部附近的代码:

http://pine.fm/LearnToProgram/?Chapter=08

于 2012-08-11T23:38:49.287 回答