У меня есть скрипт, который нужно реализовать: он должен читать определенный текстовый файл построчно и выводить результат соответствующим образом. Этот скрипт для чтения построчно был скопирован из примера на вики. Выдержка выглядит так: if ( [/file get [/file find name=text.txt] size] > 0 ) do={
:global content [/file get [/file find name="text.txt"] contents] ;
:global contentLen [ :len $content ] ;
:global lineEnd 0;
:global line "";
:global lastEnd 0;
:do {
:set lineEnd [:find $content "\n" $lastEnd ] ;
:set line [:pick $content $lastEnd $lineEnd] ;
:set lastEnd ( $lineEnd + 1 ) ;
:if ( [:pick $line 0 1] != "#" ) do={
:local entry [:pick $line 0 ($lineEnd -1) ]
:if ( [:len $entry ] > 0 ) do={
<do something>
}
}
} while ($lineEnd < $contentLen)
} Проблема в том, что первая строка получает усеченный последний символ. Например, myname становится mynam. Последующие строки читаются нормально. Есть ли какое-нибудь решение, чтобы исправить эту проблему?
:global content [/file get [/file find name="text.txt"] contents] ;
:global contentLen [ :len $content ] ;
:global lineEnd 0;
:global line "";
:global lastEnd 0;
:do {
:set lineEnd [:find $content "\n" $lastEnd ] ;
:set line [:pick $content $lastEnd $lineEnd] ;
:set lastEnd ( $lineEnd + 1 ) ;
:if ( [:pick $line 0 1] != "#" ) do={
:local entry [:pick $line 0 ($lineEnd -1) ]
:if ( [:len $entry ] > 0 ) do={
<do something>
}
}
} while ($lineEnd < $contentLen)
} Проблема в том, что первая строка получает усеченный последний символ. Например, myname становится mynam. Последующие строки читаются нормально. Есть ли какое-нибудь решение, чтобы исправить эту проблему?
