На самом деле: нет, это не будет работать. Причину можно увидеть при обращении к грамматике when
, которая не имеет конструкции, которая принимает значение, присвоенное when
, и вызывает для него функции whenCondition
. Так что это не связано с самим infix
(хотя это правда, что ему нужен приемник слева).
Вы могли бы сделать следующее:
when {
value isGreater 2 -> ...
value.isGreater(1) -> ...
Если хотите, вы также можете прочитать больше о when
в справочнике Kotlin .