Пройдя несколько примеров в сети, я понимаю, что существует способ написать анонимную функцию без подчеркивания, когда только один аргумент. Кроме того, я экспериментирую с методом span, который я никогда не знал. В любом случае, вот мой сеанс REPL:
scala> val nums = List(1, 2, 3, 4, 5)
nums: List[Int] = List(1, 2, 3, 4, 5)
scala> nums span (_ != 3)
res0: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))
scala> nums span (3 !=)
res1: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))
Пока все хорошо. Но когда я пытаюсь использовать оператор «меньше чем»:
scala> nums span (_ < 3)
res2: (List[Int], List[Int]) = (List(1, 2),List(3, 4, 5))
scala> nums span (3 <)
res3: (List[Int], List[Int]) = (List(),List(1, 2, 3, 4, 5))
Почему это ведет себя по-другому?