Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
skill / Лбы skill / Лекция3_м.doc
Скачиваний:
51
Добавлен:
05.06.2015
Размер:
130.56 Кб
Скачать

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

Создает окно просмотра файлов и отображает в нем заданный файл.

11

Соседние файлы в папке Лбы skill