Недавно в командном чатике коснулись вопроса о способах передачи параметра в метод. И вот вам небольшая задачка.
Попробуйте определить вывод у такого на первый взгляд нехитрого кода:
class Test {
int val;
Test(this.val);
}
void main() {
int number = 0;
Test test = Test(0);
fn1(number, test);
print('N-$number V-${test.val}');
fn2(number, test);
print('N-$number V-${test.val}');
}
void fn1(int number, Test test) {
number = 1;
test.val = 1;
}
void fn2(int number, Test test) {
number = 2;
test = Test(2);
print('N-$number V-${test.val}');
}
Правильный ответ:N-0 V-1
N-2 V-2
N-0 V-1
Ссылка из бонус-сектора карточек — статья Numbers in Dart.




