Ruby NomethodError用于多维数组

穆巴拉克

我正在研究Ruby程序,正在其中创建单词搜索难题。我有10x10双数组“ arr”,我使用一种方法来找到随机的起始位置(例如:)arr[5][9],然后选择一个方向,但是在超出范围时遇到问题。

示例:需要放入拼图中的单词之一是“狗”。我得到起始位置arr[5][9]并遍历“ dog”,一次将其水平放置在数组中一个字母。所以arr[5][9]是“d”,arr[5][10]是“O”,但是当它尝试把“G”我的程序崩溃,我得到错误说“ no method [] for nil: nil class (no method error)”。我知道这是因为它超出了范围,但是如何阻止它这样做呢?谢谢你

编辑:如果该单词不适合,我希望我的程序选择一个新的开始位置,直到该单词适合为止。我也想防止它越界

基思·贝内特(Keith Bennett)

如果您有10 x 10的数组,则所有索引都应在0到9之间。您需要保证单词在任何一个维度上都不会超出数组的范围。

因此,例如,如果您有一个单词dog,那么起始索引必须在0到7之间。

这是可以用于此目的的方法,并带有以下示例:

2.3.0 :001 > def random_x_value(word)
2.3.0 :002?>   rand(10 - word.length)
2.3.0 :003?>   end
 => :random_x_value
2.3.0 :004 > 16.times { print "#{random_x_value('dog')}  "}; puts
4  1  5  1  5  6  3  0  4  5  4  5  2  3  3  5
 => nil

[我以前使用过,(0..(10-word.length)).to_a.sample但后来意识到我可以使用rand(10 - word.length)更简单明了的方法。]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby数组到多维数组

来自分类Dev

在Ruby中构建多维数组

来自分类Dev

在Ruby中迭代多维数组

来自分类Dev

在 ruby 中拆分多维数组

来自分类Dev

Ruby:NoMethodError

来自分类Dev

Ruby从多维数组中删除值

来自分类Dev

在Ruby中从多维数组创建组合

来自分类Dev

Ruby多维数组分配差异

来自分类Dev

在Ruby / Rails中转换多维数组格式

来自分类Dev

将多维数组加入成对Ruby

来自分类Dev

Ruby从多维数组中删除值

来自分类Dev

在Ruby中替换多维数组中的元素

来自分类Dev

在Ruby中将多维数组转换为Hash

来自分类Dev

通过ruby中的多维数组循环

来自分类Dev

未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

来自分类Dev

在Ruby / RoR中对多维数组的子数组进行分组/过滤

来自分类Dev

NoMethodError Ruby设置

来自分类Dev

ruby 模块中的 NoMethodError

来自分类Dev

如何在Ruby中正确访问和遍历多维数组?

来自分类Dev

ruby / rails如何将列插入多维数组

来自分类Dev

在Ruby中将字符串转换成多维数组?

来自分类Dev

Ruby-如何访问多维数组中的元素

来自分类Dev

如何将值推入多维数组(RUBY)

来自分类Dev

如何在Ruby中使用键声明多维数组

来自分类Dev

Ruby在多维数组中按列和行查找

来自分类Dev

如何在Ruby中替换多维数组中的元素

来自分类Dev

Ruby Shoes中的多维数组无法按预期工作

来自分类Dev

Ruby -- 将嵌套散列转换为多维数组

来自分类Dev

如何在 Ruby 中折叠多维哈希数组?