Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何使数字参数成为变量?_Ruby - Fatal编程技术网

Ruby 如何使数字参数成为变量?

Ruby 如何使数字参数成为变量?,ruby,Ruby,如何使数字参数成为变量 例如: 片段1: a=1 a_7 = a+6 alphabet = "ABCDEFGHIJKLMNOPQRSTUVQXYZ" letter_7 = alphabet.slice[a_7..a_7] 片段2: alphabet = "ABCDEFGHIJKLMNOPQRSTUVQXYZ" letter_7 = alphabet.slice[7..7] 我想让代码段1具有与代码段2相同的结果,在切片操作中使用变量作为参数。有办法做到这一点吗?因此,您的问题来自这样一个事实

如何使数字参数成为变量

例如:

片段1:

a=1
a_7 = a+6
alphabet = "ABCDEFGHIJKLMNOPQRSTUVQXYZ"
letter_7 = alphabet.slice[a_7..a_7]
片段2:

alphabet = "ABCDEFGHIJKLMNOPQRSTUVQXYZ"
letter_7 = alphabet.slice[7..7]

我想让代码段1具有与代码段2相同的结果,在切片操作中使用变量作为参数。有办法做到这一点吗?

因此,您的问题来自这样一个事实,即您使用的是没有任何参数的slice方法。不能将[]与slice方法一起使用。要使此功能正常工作,您需要将[]更改为

这实际上会返回H作为结果,因为数组索引从0开始,所以要得到第7个字母,需要在索引6处切片

letter_7 = alphabet.slice(6..6) #=> 'G'
或者,您可以对字符串本身使用[]方法

letter_7 = alphabet[6] #=> 'G'
当然,只要变量设置为整数,就可以用变量替换索引值

a = 6

letter_7 = alphabet[a] #=> 'G'

这两个代码段都给出了一个错误。您希望每个代码段的输出是什么?对于slice方法,您需要使用而不是[]。如果你改变它,两个代码段都返回H作为结果。你的标签rubygems与你的问题无关,即使有人建议你使用某个特定的gem,我认为这是值得怀疑的,所以你应该删除它。许多成员使用标签来过滤他们想看到或不想看到的问题,因此它们的适当性很重要。只要ruby就可以了。以后我建议你不要这么快选择答案。快速选择可能会阻碍其他答案,并可能使仍在准备答案的其他人短路。关键是不要着急,只是别忘了。我建议至少等几个小时。这里的许多人等待的时间更长。当您有时间阅读时,我建议您等待24小时,这会给世界各地的用户一个插话的机会。此外,还有一些优秀的用户,他们每隔几天才上一次车。正如@CarySwoveland所说,快速挑选对你没有帮助,而且可能会让你在一段时间内无法找到更好的答案。我还推荐阅读和链接页面,尤其是
a = 6

letter_7 = alphabet[a] #=> 'G'