我是学习Ruby的新手,我从老师那里得到了一份我正在努力理解的作业。 这是个问题。请考虑以下代码:
ary = Array.new(7, "--day")
ary[2] = "Tuesday"
ary[4] = "Thursday"
ary[7] = "Sunday"
ary[-1] = "Saturday"
puts ary[7]
puts ary[-4]
puts ary[-6, 2]
puts ary[2] = ary[7][-3,3]
puts ary.length
答案 0 :(得分:1)
我不会直接回答这些问题,因为这听起来像是家庭作业,但我会尽力指出你正确的方向。
查看Ruby Array#[]的文档。更具体地说,看看示例代码中的哪些用法与示例中的用法相匹配,您可能会更好地了解发生了什么。请记住,使用Ruby,您可以使用负索引号从数组的 end 进行索引。
在终端中打开irb
并运行前5行(所有ary[]=
行)。然后分别运行每个puts
行,看看输出是什么。请注意,=> something
行是返回值,而不是正在打印的值。
查看String#[],然后分别试用第9行的不同部分。例如,看看ary[7]
做了什么。然后看看ary[7][-3, 3]
做了什么。如果您执行"Any Random String"[a_number, another_number]
,请查看会发生什么。
首次创建阵列后,请检查ary.length
。然后运行以下每一行,在每次后续分配后检查ary.length
。
如果您需要尝试弄清楚代码中发生了什么,只需在终端中打开irb
并开始使用它,您应该能够通过以下方式回答大部分问题:实验