Обычно (до сих пор) Я стараюсь использовать неизменяемую коллекцию в Scala, тем более, что если я дам ссылку на коллекцию на какую-то другую часть моей программы, я не могу переопределить исходный источник случайно. Используя ветер, я хотел бы знать: почему было решено, что DenseVector будет изменчивой коллекцией?Почему DenseVector изменчивая коллекция?
Это просто (возможно, нежелательный) побочный эффект использования в массивах в фоновом режиме? Если да, почему были использованы массивы вместо другой (неизменной) коллекции?
2. Я вижу только половину права: Выполнить 'a = c (1,2); B = A; a [1] = 0' в R, 'a' будет' 0 2 3', а b будет '1 2 3'. Эквивалент в Scala был бы неизменным «var». – Make42
Хотя, если DenseVector был бы неизменным, мне пришлось бы написать 'a = a (1): = 0' – Make42
Да, Бриз ведет себя как Numpy в этом отношении, а не R или Matlab (IIRC), что потенциально может привести к запутыванию Пользователи R/Matlab. Опять же, я подозреваю, что это слабая причина (если вообще). –