Есть ли функция в Rascal Lib, где я получаю длину в байтах строки?Длина в байтах строки
Немного похожее на функцию getFileLength() в IO.
Мне нужно это для установки смещения в значении местоположения.
Есть ли функция в Rascal Lib, где я получаю длину в байтах строки?Длина в байтах строки
Немного похожее на функцию getFileLength() в IO.
Мне нужно это для установки смещения в значении местоположения.
Да! http://tutor.rascal-mpl.org/Rascal/Rascal.html#/Rascal/Libraries/Prelude/String/size/size.html
Функция размер делает именно то, что вам нужно:
. size ("was") == 3
Уже пробовал, возможно, это проблема с кодировкой. Я хочу подсчитать смещение до сих пор, читая исходный файл java по строкам. Но когда я использую size(), он всегда заканчивается коротким (смещение становится маленьким). Я обнаружил, что это произошло, когда символы \ t появились в начале строки, поэтому я попытался настроить для этого (добавив +1 к смещению). Однако все еще не правильно ... getFileLength() в IO возвращает ту же длину для местоположения, что и в M3, и это описание говорит о байтах, поэтому почему. –
Линии интересны, потому что кодировка символов для строк новой строки может отличаться от различных операционных систем. Для каждой строки в Unix вам нужно добавить 1 и в Windows, вероятно, 2 – jurgenv
Я не знаю, как получить длину файла и байты. Будет ли проверяться позже – jurgenv
Байты не существуют у мошенника. Вы можете думать или даже думать о символах. Юникод. – jurgenv