У меня есть следующий код:
val O = Array(3, "str") for (o <- O) print(o) println("\n===") for (_ <- O) print(_) println("\n===")
печатает
3str === ===
Почему второй for + print (_) ничего не печатает? Есть объяснения?
for (_ <- O) перевод : извлекать каждый элемент из O, но ни к чему их не назначать. Просто отбросьте эти значения.
for (_ <- O)
O
print(_) перевод : Для каждого неиспользуемого элемента из O используйте eta extension , чтобы превратить метод print() в правильную функцию, выполняющую ту же функцию. Тогда выбросьте это.
print(_)
print()
Добавлена ссылка: Для чего используются символы подчеркивания в Scala?