Проблема с получением самой последней строки списка

Регистрация
19.12.2015
Сообщения
296
Реакции
38
Баллы
28
В действии «Операции над списком» одно из свойств называется «Получить строку».

Если последняя строка файла не заканчивается символом переноса строки, это не дает право квалифицировать ее в качестве «не строки».

Я не прав?

Тогда пусть кто-нибудь поправит меня.

Все другие стандартные функции по обработке строк не бракуют такую строку в конце файла.

Что мы имеем сейчас в Зеннопостере. Свойство «Получить количество строк» считает самую последнюю строку файла, даже если после нее нет символа перевода строки.

Но когда мы указываем номер этой последней строки в свойстве «Получить строку», при выполнении этого действия возникает ошибка, и выполнение шаблона аварийно заканчивается, причем без указания причины.

При ближайшем рассмотрении выясняется, что по какой-то непонятной причине действие «Получить строку» не смогло взять последнюю строку файла.

Это нормально?
 
Нормально. Нумерация строк начинается с нуля. Количество строк, если они существуют - с единицы. Следовательно, если количество строк в тексте 10, то нужно взять девятую. Вы просто пытаетесь получить несуществующую строку.
 
Я знаю о том, что нумерация строк начинается с нуля.

Вероятно, ошибка возникла из-за моей собственной оплошности.

Каким-то образом после нескольких тестовых прогонов моего шаблона в Проджектмейкере получилось так, что переменная, которая выступает в роли счетчика итераций цикла, увеличилась на одну лишнюю единицу.

Именно в результате этого свойство «Получить строку» пыталось взять строку с номером, который превышает уменьшенное на единицу число строк в файле.

При этом наличие или отсутствие символа перевода строки в конце самой последней строки файла оказалось ни при чем.

Вопрос пока закрыт.

Приношу свои извинения за то, что невольно ввел вас всех в заблуждение. :bt:
 
Если есть необходимость взять последнюю строку, то можно использовать парaметр end
Возьмётся последняя строка не взирая на их количество
http://zennolab.com/wiki/ru:ranges
 
Скажите, пожалуйста, а эта самая псевдо-переменная (или константа) имеет числовой тип?

Можно ли в действии IF проверять равенство переменной счетчика цикла с цифровым значением параметра end?

Типа
Код:
Развернуть Свернуть Копировать
n==end

Допустим ли подобный синтаксис?
 
Скажите, пожалуйста, а эта самая псевдо-переменная (или константа) имеет числовой тип?

Можно ли в действии IF проверять равенство переменной счетчика цикла с цифровым значением параметра end?

Типа
Код:
Развернуть Свернуть Копировать
n==end

Допустим ли подобный синтаксис?

Нет
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)