将函数应用于数组中的每个元素并将结果存储在数组中

mch*_*gun 2 ruby arrays

我有一个toWords将整数转换为单词的函数

例如toWords(500, tableWords)fivehundred

我有一个数字数组h = (1..999).to_a,我想通过这个数组并将每个数字转换成一个单词并将其存储在一个新数组中.我目前的尝试是:

h = (1..999).to_a
Lh = h.each do |i| toWords(i, tableWords) end
Run Code Online (Sandbox Code Playgroud)

但是,内容Lh只是从1到999的整数,而不是我的toWords函数的输出.我该怎么做呢?我正在考虑R中的某些内容sapply.

更好的是,如果我的新数组Lh可以有两列,第一列包含数字格式的整数,第二列是单词中的相应数字.

谢谢!

Mat*_*ler 5

要获得两列,您可以执行以下操作

(1..999).map {|x| [x, toWords(x, tableWords)]}
Run Code Online (Sandbox Code Playgroud)