#scala #loops #for-loop
Вопрос:
В настоящее время я работаю над некоторой функцией, которая принимает два числа в Scala (в прошлом я работал со Scala только один раз в течение нескольких недель).
Мне нужно повторить цикл между двумя числами; a
и b
.
Итак if a = 0, b = 10
, я хочу сделать цикл из 0 to 10
, if a = 10, b = 0
, я хочу сделать цикл из 10 to 0
.
Я хочу сделать это наиболее эффективным способом, как я могу это сделать?
Ответ №1:
(a to b by (if (a < b) 1 else -1)).foreach { x => ??? }
Комментарии:
1. Спасибо, приятель, я не совсем знал, как использовать
.foreach { x => ??? }
, поэтому я просто внедрилby (if (a < b) 1 else -1)
его в свой существующий цикл.2.
if (a < b) 1 else -1
может быть написан(b-a).sign
на языке Scala 3.