“直接访问”返回值而不引用

时间:2010-03-24 17:26:39

标签: php ruby programming-languages syntax

看看这个红宝石的例子:

puts ["Dog","Cat","Gates"][1]

这将输出Cat,因为ruby允许我直接访问创建的“匿名”数组。

但是,如果我在PHP中尝试这个:

echo array("Dog","Cat,"Gates")[1]

这不起作用。

  • 这叫做什么,不仅涉及阵列而且涉及所有功能?
  • 还有什么地方可以吗?

当您知道如何调用此“功能”时,请随意更改问题标题。

2 个答案:

答案 0 :(得分:2)

PHP没有这样的语言构造。它是proposed for PHP 6,但被拒绝了。

答案 1 :(得分:1)

在Ruby中,[]只是一个方法调用(obj[1]obj.[](1)的语法糖)所以[“Dog”,“Cat”,“Gates”之间没有语义差异] [1]和[“狗”,“猫”,“盖茨”]。切片(1)。许多在Ruby中看起来像“运算符”的语法结构实际上是方法,它们通常可以在您自己的自定义类上定义。例如:

class Foo
  def [](index)
    puts "you tried to get something at #{index}"
  end
end

f = Foo.new
f[12]