2015-12-09 2 views
0

В tutorial, iso переменные получает псевдонимы, как trn:Почему пример использования параметра «iso»?

fun test(a: Wombat iso) => 
    var b: Wombat tag = a // Allowed! 

Но мне интересно, что фактическое использование случае получение iso переменных, если вы не можете прочитать из него?

Скажите, могу ли я сделать что-то вроде этого?

fun test(a: Wombat iso) => 
    var b: Wombat tag = a // Allowed! 
    env.out.print(a.name()) 

ответ

1

Reference capabilities объясняет:

изолированный, написанный изо. Это для ссылок на изолированные данные структур. Если у вас есть переменная iso, вы знаете, что нет других переменных, которые могут получить доступ к этим данным. Таким образом, вы можете изменить его , но вам нравится и отдать его другому актеру.

Это означает, что это нормально читать с ссылки iso.

Вы можете протестировать свой пример кода в Pony sandbox и посмотреть сами.

+0

Действительно, как только я прочитал учебник, это имело смысл :-) (с секцией потребления)! – drozzy

Смежные вопросы