长话短说,有一个名为ArrayAccess的[]特性,它允许您为类重载[]运算符(除其他事项外),这样您就可以拥有一个自定义类MyClass implements ArrayAccess ( $myVariable是其中的一个实例),并执行以下操作
$myVariable[]=6;
或$someVar=$myVariable[78];
在你确定了它的行为之后。
我发现这个特性相当优雅和有用,我想知道,这在其他编程语言中是否可行。
谢谢!
发布于 2011-03-13 16:48:36
C++在操作符重载时支持这一点。
大多数.Net语言都在索引器中支持这一点。
发布于 2011-03-13 16:54:43
Python也通过实现"magic" methods __getitem__ and __setitem__来支持它。
有了它们,您甚至可以支持像obj[i:j]这样的切片。
https://stackoverflow.com/questions/5290794
复制相似问题