
3 ; Second input line
=> (f 1 (2 + 3))
lineread(piport)
f(a b c) ; Another input line of the file
=> ((f a b c)) ; Returns a list of input objects
linereadstring( t_string ) => g_value | nil
Выполняет функцию lineread в строке символов и возвращается после прочтения к первой форме. То, что следует за первой формой игнорируется.
t_string- входная строка
возвращает:
g_value- первая форма (линия) чтения, из строки аргументов
nil- ничего не прочитано
Пример:
linereadstring "abc" => (abc)
linereadstring "f a b c" => (f a b c)
linereadstring "x + y" => ((x + y))
linereadstring "f a b c\n g 1 2 3" => (f a b c)
In the last example, only the first form is read in.
fscanf( p_inputPort t_formatString [ s_var1 ... ] => x_items | nil
scanf( t_formatString [ s_var1 ... ] ) => x_items | nil
sscanf( t_sourceString t_formatString [ s_var1 ... ] ) => x_items | nil
Разница между всеми этими функциями только в источнике ввода. Функция fscanf читает вводимую информацию из порта в соответствии с указанным, и возвращает количество прочтенных пунктов.
Функция scanf берет вводимую информацию безоговорочно из piport. Функция scanf работает в SKILL только автономно, если piport не является CIW.
Функция sscanf читает вводимую информацию не из порта, а из строки символов.
Результаты сохраняются соответствующими названными переменными. Функция fscanf может быть рассмотрена как противоположная (обратная) функции вывода fprintf. Функция fscanf возвращает количество прочитанных элементов при успешном совпадении с форматом строки. Возвращает nil, если встречается в конеце файла.
Максимальный размер любой строки символов для чтения с помощью fscanf обычно ограничивается 8K. Функция lineread более быстрая альтернатива fscanf для чтения объектов SKILL.
Если найдена ошибка во время сканирования вводимой информации, то данные читаются только до установления ошибки.
форматы вводимой информации, распознаваемые функцией fscanf:
%d целые числа
%f числа с плавающей точкой
%s строка символов
p_inputPort - входящий порт для чтения fscanf. Порт ввода может быть CIW для fscanf
t_sourceString входная строка для sscanf
t_formatString – формат строки
s_var1- имя переменной для записи результатов
Пример:
fscanf( p "%d %f" i d )
Scans for an integer and a floating-point number from the input port p and stores the values read in the variables i and d, respectively.
Assume a file testcase with one line:
hello 2 3 world
x = infile("testcase")=> port:"testcase"
fscanf( x "%s %d %d %s" a b c d )=> 4
(list a b c d) => ("hello" 2 3 "world")
gets
читает входные данные из входного порта и сохраняет их в переменную типа строка
getc
читает из входного порта один символ и возвращает его. Если возвращаемый символ не печатаемый, то как символ хранится его восьмеричная величина.
instring ( t_string ) => p_port
открывает строку для чтения, подобна функции infile для файлов
Пример:
s = "Hello World!" => "Hello World!"
p = instring(s) => port:"*string*"
fscanf(p "%s %s" a b) => 2
a => "Hello"
b => "World!"
close(p)=> t
Системное окружение.
getCurrentTime( ) => t_timeString
возвращает текущее время в формате строки
Пример:
getCurrentTime( )=> "Jan 26 18:15:18 1994"
compareTime( t_time1 t_time2 ) => x_difference
Сравнивает две строки, представляющих собой календарное время. Результат возвращается в секундах.
Пример:
compareTime("Apr 16 3:24:36 1991" "Apr 16 3:14:36 1991")
-
600
getVersion( [ g_opt ] ) => t_version
Возвращает номер версии Cadence.
view(t_file) => w_windowId | nil
Создает окно просмотра файлов и отображает в нем заданный файл.