Чтобы правильно понять, как это работает, имейте в виду, что все эти выражения следуют этой схеме:
[head | tail]
где head
- один элемент, а tail - другой список.
Также обратите внимание, что строки представляют собой список символов, то есть "A"
фактически равен [65]
.
Следовательно, в первом случае создается список с заголовком "A"
и хвостом []
, который, как и ожидалось, превращается в ["A"]
.
Однако во втором случае голова - []
, а хвост - "A"
, что равно [65]
. Следовательно, результатом является элемент head ([]
) плюс все элементы в tail (65
).