Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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,[]在数组之后使用是一种方法。定义如下: def [] x //do something end 所以我认为应该这样使用: array.[] x 为什么它可以像下面这样使用 array[x] 如果我加上一对括号,你就会明白了 def [](x) // do something end 这与定义方法的语法相同。它的名字是[]有点奇怪,它有一个参数x。事实上,您正在定义这样的方法。它被称为语法糖,它可以帮助您编写可读性更低/更高的代码 a = [1,2,3,4] a.[](1) #

[]在数组之后使用是一种方法。定义如下:

def [] x
  //do something
end
所以我认为应该这样使用:

array.[] x
为什么它可以像下面这样使用

array[x]

如果我加上一对括号,你就会明白了

def [](x)
  // do something
end

这与定义方法的语法相同。它的名字是[]有点奇怪,它有一个参数x。事实上,您正在定义这样的方法。

它被称为语法糖,它可以帮助您编写可读性更低/更高的代码

a = [1,2,3,4]

a.[](1) #=> 2 
更多关于这个

我觉得这更像是一种惯例。Ruby的发明者决定把它的语法变成这样。[]不仅仅是数组,还有,还有更多。你的问题还不清楚。具体来说,除了Ruby语言规范所说的以外,您还需要什么样的答案呢?请先阅读这个答案,然后再阅读我的答案,例如:此处相同;你已经给出了声明部分,我也给出了示例部分:D.我喜欢这个…好的。。但是为什么呢?我已经测试过了,很抱歉我忽略了一个小问题:在显示返回值时,写=>比写=>更好。除此之外,它还允许读者无需修改即可运行剪切和粘贴的代码!所有关于复制粘贴的开发者;谢谢,我理解a[]1,但我仍然不知道如何将其转换为a[1]?也许我太好奇了。。。。。。。。。