Преобразует ряд, состоящий из 8 байтов, в атом. Считается, что эти 8 байтов должны содержать число с плавающей точкой в 64-битном формате по стандарту IEEE.
Комментарии:
Любая 8-ми байтовая величина, выражающая 64-битное число с плавающей точкой в формате IEEE, может быть преобразована в атом.
Пример:
f = repeat(0, 8)
fn = open("numbers.dat", "rb") -- побайтовое чтение
for i = 1 to 8 do
f[i] = getc(fn)
end for
a = float64_to_atom(f)
См. также:
float32_to_atom, atom_to_float64
floor
Синтаксис:
x2 = floor(x1)
Описание:
Выдаёт наибольшее целое, меньшее или равное x1 (округляет вниз до целого, то есть, отбрасывая дробную часть у положительных чисел или считая дробную часть за полную -1 у отрицательных чисел).
Комментарии:
Эта функция может быть применена к атому или ко всем элементам ряда.
Пример:
y = floor({0.5, -1.6, 9.99, 100})
-- y будет равно {0, -2, 9, 100}
См. также:
remainder
flush
Синтаксис:
include file.e
flush(fn)
Описание:
Когда вы записываете данные в файл, обычно Euphoria сначала размещает данные в буфере, организованном в оперативной памяти, пока не будет накоплен достаточно большой объём этих данных. Этот сравнительно большой объём данных может быть затем очень быстро и эффективно записан на диск. Иногда у вас может возникнуть необходимость форсировать, ускорить немедленный вывод данных на диск, хотя оптимальный буфер ещё не заполнен. Чтобы сделать это досрочное выталкивание данных, и предназначена процедура flush(fn), где fn является номером файла, который был открыт вами для записи или дополнения.
Комментарии:
Когда файл закрывается, (см. close()), все данные, остающиеся в буфере, выводятся в файл именно так, как это делает процедура flush(). Когда программа заканчивается, во все открытые файлы выводятся данные, остающиеся в буфере, и файлы закрываются автоматически.
Используйте flush(), когда, например, другому процессу необходимо видеть все данные уже записанными на диск, но вы ещё не готовы закрыть файл.
Пример:
f = open("logfile", "w")
puts(f, "Record#1\n")
puts(1, "По готовности нажмите Enter\n")
flush(f) -- Команда выталкивает "Record #1" в файл "logfile" на диске.
-- Без этой команды "logfile" будет ещё пустым,
-- когда мы уже закончим ввод с клавиатуры.
s = gets(0) -- ожидание ввода с клавиатуры
См. также:
close, lock_file
free
Синтаксис:
include machine.e
free(a)
Описание:
Освобождает ранее занятый участок памяти, ориентируясь по начальному адресу этого участка, т.е. адресу, полученному от функции allocate() при подготовке участка к использованию.
Комментарии:
Не пренебрегайте функцией free() для освобождения и повторного использования программой участков памяти, занятых вами в дополнение к автоматическому её распределению во время работы программы. Это снизит вероятность нехваток оперативной памяти или чрезмерного обмена с дисковой виртуальной. Не обращайтесь по тем адресам, которые были освобождены. Когда ваша программа завершается, вся занятая ею память будет возвращена операционной системе автоматически.
Не вызывайте free(), чтобы освободить память, занятую в нижних адресах с помощью функции allocate_low(). Для этого имеется специальная процедура free_low().
Пример программы:
demo\callmach.ex
См. также:
allocate, free_low
free_console
Платформа:
WIN32, Linux, FreeBSD
Синтаксис:
include dll.e
free_console()
Описание:
Закрывает (удаляет) консольное окно, связанное с вашей программой (если оно существует).
Комментарии:
Эта процедура используется, если вы получаете нежелательное сообщение "Press Enter" в конце исполнения вашей программы на платформах Windows или Linux/FreeBSD.
См. также:
clear_screen, platform_r.htm
free_low
Платформа:
DOS32
Синтаксис:
include machine.e
free_low(i)
Описание:
Освобождает ранее занятый участок стандартной памяти. Аргумент i представляет собой начальный адрес участка, который был вами получен при выделении участка с помощью функции allocate_low().
Комментарии:
Процедуру free_low() следует использовать для возвращения участков стандартной памяти в резерв программы во время её работы. Это снизит вероятность исчерпания стандартной памяти. Не обращайтесь к тем участкам памяти, которые были освобождены. Когда ваша программа завершается, вся занятая ею память, включая резервы программы, возвращается в распоряжение операционной системы.
Не используйте free_low() для освобождения той памяти, которая была выделена с помощью функции allocate(). Для этого случая существует своя собственная процедура free().
Пример программы:
demo\dos32\dosint.ex
См. также:
allocate_low, dos_interrupt, free
get
Синтаксис:
include get.e
s = get(fn)
Описание: