Почему это не работает L is [1,2,3,4], и это работает: L = [1,2,3]?
Но L is 1 и L = 1 работают одинаково.
Ответ 1
is следует использовать только при оценке арифметических операций в правой части.
то есть:.
X is 1 + 2 + 3
is/2 оценивает правую структуру как арифметическое выражение. Если это не действительное арифметическое выражение или число, is/2 терпит неудачу. В противном случае число, на которое равномерно распределенное арифметическое выражение объединяется с [предположительно] несвязанным левым значением.