Клиппер 5. Справочник

функций определяется способом передачи параметров


    функций определяется способом передачи параметров при вызове.
 
    Передача по ссылке имеет свои достоинства и недостатки. Недостатком
    является зависимость функции от метода ее использования. А наиболее
    важным достоинством - экономия памяти, позволяющая избежать ошибок
    времени выполнения из-за нехватки памяти при обработке строк.
 
    В обычной ситуации для изменения исходной строки (переданной по
    значению) после выполнения функции измененную строку необходимо
    присвоить первоисточнику:
 
        VAR := "Привет"
        VAR := FUNCTION(VAR)


 
    При работе с большими строками это требует времени и памяти!
 
    Вот пример использования метода передачи по ссылке:
 
        VAR := "Привет"
        FUNCTION(@VAR)
 
    Для большинства CT II-функций передача по ссылке не дает никаких
    дополнительных эффектов, и лишь для некоторых может влиять на
    характер выполнения. При этом функция непосредственно изменяет
    значения символьных переменных, переданных по ссылке, что экономит
    память и ускоряет обработку, поскольку не осуществляется
    дополнительное копирование.
 
    Функциям, увеличивающим длину строки, нельзя передавать параметры
    по ссылке. Ниже приводится список функций, которые могут изменять
    длину строки:
 
    ATREPL()    CHARONE()       POSDEL()        WORDONE()
    CHAREVEN()  CHARONLY()      POSINS()        WORDONLY()
    CHARODD()   CHARREM()       POSREPL()       WORDTOCHAR()
 
  CSETREF()
 
    Эта функция позволяет оптимизировать скорость вычислений и
    использование памяти функциями, допускающими передачу параметров по
    ссылке. Более подробная информация о ее использовании приводится в
    описаниях соответствующих функций.
 
  CHR(26) - маркер конца файла
 
    В строке, возвращаемой такими функциями, как CRYPT(), CHARPACK() и
    многими другими, могут присутствовать символы CHR(26), что может

Содержание раздела