2013-06-02 2 views

ответ

8

Предполагая, что вещь __getitem__ позволяет использовать синтаксис «индексации» (object[index]), да, Дарт позволяет сделать то же самое, указав operator []. Пример:

class Test { 
    var data = { 
    "a": 1, 
    "b": 2 
    }; 

    operator [](index) => data[index]; 
} 

main() { 
    var t = new Test(); 
    print(t["a"]); 
    print(t["b"]); 
} 

Вы можете также определить "обратное" operator []=:

class Test { 
    Map data = { 
    "a": 1, 
    "b": 2 
    }; 

    operator [](index) => data[index]; 
    operator []=(index, value) { data[index] = value; } 
} 

main() { 
    var t = new Test(); 
    print(t["a"]); 
    print(t["b"]); 
    t["c"] = 3; 
    print(t["c"]); 
} 
Смежные вопросы