Я прокладываю себе путь через Программирование в Scala, и хотя я испытываю соблазн смотреть на вещи с точки зрения Python, я не хотите запрограммировать "Python в Scala".
Я не совсем уверен, что делать с потоком управления: в Python мы используем for x in some_iterable
для смерти, и нам это нравится. Очень похожая конструкция существует в Scala, которую Одерский называет выражением for, вероятно, чтобы отличить ее от цикла Java for. Кроме того, Scala имеет атрибут foreach
(я думаю, это был бы атрибут, я не знаю достаточно о Scala, чтобы правильно его называть) для повторяющихся типов данных. Кажется, я не могу использовать foreach
для выполнения гораздо большего, чем вызов одной функции для каждого элемента в контейнере.
Это оставляет мне несколько вопросов. Во-первых, для выражений важные/сильно используемые конструкции в Scala, как и в Python, и во-вторых, когда следует использовать foreach
вместо выражения for (кроме очевидного случая вызова функции для каждого элемента контейнер)?
Надеюсь, я не ужасно двусмыслен или слишком застенчив, но я просто пытаюсь понять некоторые основы дизайна/языка в Scala (что пока кажется очень классным).