марта 01, 2011

Простейшие примеры работы со строками

Всё перечисленное уже работает, за исключением unicode->cp1251.


" expe" " rience" str+ // сложили две строки, получили experience
2 4 str-cut // оставили четыре символа, начиная со второго, получили peri (нумерация с нуля)
bdup str+ // сложили строку с самой собой, получили periperi
" rip" str^ // определяем символ, начиная с которого идёт первое вхождение rip в строке, получаем число 2
str# // узнали длину строки rip, т.е. 3
// Итого, на обычном стеке: 2 3
// На стеке строк: " periperi" " rip"
bdrop // скидывем строку rip со стека
str-del // удаляем три символа, начиная со второго, получаем peeri
utf8->unicode unicode->cp1251 // перекодировываем строку из utf8 в cp1251
" peeri" str= // проверяем равны ли строки, в данном случае получаем true
." Hello world!"cr // печатаем на консоль строку


4 комментария:

Darthman комментирует...

Один только вопрос. Какого фига после открывающей кавычки пробел? :)

Дож комментирует...

DEmbro-интерпретатор последовательно извлекает из исходника команды и выполняет их. Команда должна быть отделена от последующего кода пробелом.

Двойная кавычка тоже является командой, которая читает символы до следующей двойной кавычки и превращает их в строку.

Тут всё вполне стандартно, так действуют все команды, которые что-то ещё читают из исходника. Комментарии, например.

Если же это по каким-то причинам сильно мешает, то есть модуль
units/utils/nospaces.de
подключив который, можно в дальнейшем коде не вставлять пробел после открывающей кавычки. Но это не характерно для DEmbro.

Darthman комментирует...

Просто это немного нелогично, чтоли... Тоесть в концепции всего языка, возможно и все впорядке с логикой, но в концепции восприятия человеческого — нифига не логично. А язык всётаки для людей пишется и (ИМХО) должен быть понятен и логичен для человека в первую очередь, а не для машины.

Дож комментирует...

Понятность для человека бывает двух типов:
1) Когда человеку, который впервые увидел код на данном языке, понятно, что в нём написано. Такому типу понятности код на DEmbro явно не удовлетворяет и не претендует.
2) Когда человек встречает новую языковую конструкцию, очень похожую на десять изученных раньше, то он почти сразу понимает, что она делает. Чем меньше непохожих конструкций в языке, тем проще его изучать. Этот тип понятности (унифицированность) как раз и достигается пробелом после кавычек.

Отправить комментарий

Постоянные читатели

Обо мне

Моя фотография
Мой e-mail: vitek_03(at)mail(dot)ru