Ну, оператор in проверяет в диапазоне ли число и возвращает булево значение. Синтаксис: число in [от..до], ну вообще он проверяет есть ли какое то значение в массиве, а вот [от..до] уже генерирует массив, с которым работает in. Допустим [1..5] сгенерирует массив: [1,2,3,4,5], а 3 in [1..5] проверит существование 3 в массиве [1..5]. Вроде такое и со строками можно проделывать, допустим 'a' in 'abc', но в этом я не уверен.