英语单词(ONE,TWO,THREE)to number(1,2,3)in ruby

时间:2012-08-09 21:47:47

标签: ruby numbers words

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

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

我见过很多其他例子(数字到单词);但是,我无法找到如何将单词转换为数字的示例。如果我能得到任何见解或帮助,那就太棒了。

3 个答案:

答案 0 :(得分: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

之类的操作

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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