我有一个函数toWords
,它将整数转换为单词
e.g。 toWords(500, tableWords)
提供fivehundred
我有一个数字h = (1..999).to_a
数组,我想通过这个数组并将每个数字转换成一个单词并将其存储在一个新数组中。我目前的尝试是:
h = (1..999).to_a
Lh = h.each do |i| toWords(i, tableWords) end
但是,Lh
的内容只是1到999之间的整数,而不是我toWords
函数的输出。我该怎么做呢?我正在考虑R中sapply
的某些内容。
更好的是,如果我的新数组Lh可以有两列,第一列包含数字格式的整数,第二列是单词中的相应数字。
谢谢!
答案 0 :(得分:5)
要获得两列,您可以执行以下操作
(1..999).map {|x| [x, toWords(x, tableWords)]}
答案 1 :(得分:2)
根据Cicada的评论,答案是:
Lh = h.map{|x| toWords(x, tableWords)}