Есть ли в других языках функции ArrayAccess, аналогичные PHP? - PullRequest
1 голос
/ 13 марта 2011

Короче говоря, есть PHP-функция ArrayAccess, которая позволяет вам перегрузить оператор [] (среди прочего, я думаю) для вашего класса, так что вы можете иметь собственный класс MyClass implements ArrayAccess, из которых $myVariable это экземпляр, и делать такие вещи, как

$myVariable[]=6;

или $someVar=$myVariable[78];

После того, как вы определили, как оно будет себя вести.

Я нахожу эту функцию довольно элегантной и полезной и хотела бы узнать , возможно ли это на других языках программирования .

Спасибо!

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

C ++ поддерживает это при перегрузке операторов.

Большинство языков .Net поддерживают это в индексаторах.

1 голос
/ 13 марта 2011

Python также поддерживает его, реализуя "магические" методы __getitem__ и __setitem__.

С ними вы можете даже поддерживать нарезку как obj[i:j].

...