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

时间:2016-09-07 22:59:37

标签: 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具有相同的结果,并将变量作为slice操作中的参数。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

因此,您的问题来自于您使用slice方法而没有任何参数。您无法将[]slice方法一起使用。要使其发挥作用,您需要将[]更改为()

letter_7 = alphabet.slice(7..7)

这实际上将返回H作为结果,因为数组索引从0开始,因此要获得第7个字母,您需要在索引6处切片。

letter_7 = alphabet.slice(6..6) #=> 'G'

或者,您可以在字符串本身上使用[]方法。

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

当然,只要变量设置为整数,就可以用变量替换索引值。

a = 6

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