查找返回值:“直接访问”,而不在这个红宝石例子引用
puts ["Dog","Cat","Gates"][1]
这将输出Cat
红宝石让我可以直接访问创建的“匿名”阵列。
如果我试试这个在PHP,但是:
echo array("Dog","Cat,"Gates")[1]
这是行不通的。
- 这是什么叫,不仅涉及数组,而且所有的功能?
- 哪里有可能?
当您知道如何调用这个“功能”时,随意更改问题标题。
查找返回值:“直接访问”,而不在这个红宝石例子引用
puts ["Dog","Cat","Gates"][1]
这将输出Cat
红宝石让我可以直接访问创建的“匿名”阵列。
如果我试试这个在PHP,但是:
echo array("Dog","Cat,"Gates")[1]
这是行不通的。
当您知道如何调用这个“功能”时,随意更改问题标题。
PHP没有这样的语言结构。这是proposed for PHP 6但被拒绝。
在Ruby,[]
只是一个方法调用(obj[1]
为obj.[](1)
语法糖),这样就之间没有语义差异[“狗”,“猫”,“门”] [1]和[“狗”,“猫“,”门“]片(1)。在Ruby中看起来像“操作符”的许多语法结构都是真正的方法,它们通常可以在您自己的自定义类上定义。例如:
class Foo
def [](index)
puts "you tried to get something at #{index}"
end
end
f = Foo.new
f[12]
红宝石本应读作'放[“狗”,“猫”,“门”] [1]' – 2010-03-24 17:41:53
难道你不希望PHP有一个对象的符号吗? – 2010-03-24 19:20:50