当前位置: 首页 > 文档资料 > Euphoria 中文教程 >

图书馆例程( Library Routines)

优质
小牛编辑
154浏览
2023-12-01

提供了大量的库例程。 有些内置在解释器, ex.exe, exw.exe or exu 。 其他的是用Euphoria编写的,你必须在euphoria\include目录中包含一个.e文件才能使用它们。

要指出可以传入和返回的对象类型,使用以下前缀 -

S.No前缀和描述
1

x

一般对象(原子或序列)

2

s

一个序列

3

a

一个原子

4

i

整数

5

fn

用作文件编号的整数

6

st

字符串序列或单字符原子

预定义类型

除了使用这些类型声明变量之外,您还可以像普通函数一样调用它们,以便测试值是否是某种类型。

integer测试对象是否为整数
atom测试对象是否是原子
sequence测试对象是否为序列
object测试对象是否为对象(始终为true)

序列操作

length返回序列的长度
repeat重复一个对象n次,形成一个长度为n的序列
reversereverse a sequence
append在序列的末尾添加一个新元素
prepend在序列的开头添加一个新元素

搜索和排序

comparecompare two objects
equal测试两个对象是否相同
find在序列中查找对象 - 从元素编号1开始搜索
find_from在序列中查找对象 - 从任何元素编号开始搜索
match找到一个序列作为另一个序列的切片 - 从元素编号1开始搜索
match_from找到一个序列作为另一个序列的切片 - 从任何元素编号开始搜索
sort将序列的元素按升序排序
custom_sort根据您提供的比较函数对序列的元素进行排序

模式匹配

lower将原子或序列转换为小写
upper将原子或序列转换为大写
wildcard_match匹配包含?的模式? 和*通配符
wildcard_file根据通配符规范匹配文件名

Math

这些例程可以应用于单个原子或值序列。

sqrt计算对象的平方根
randgenerate random numbers
sin计算角度的正弦值
arcsin用给定的正弦值计算角度
cos计算角度的余弦值
arccos用给定的余弦计算角度
tan计算角度的正切
arctan计算数字的反正切
logcalculate the natural logarithm
floor向下舍入到最接近的整数
remainder计算一个数除以另一个时的余数
power计算一个提升到一个幂的数字
PI数学值PI(3.14159 ......)

按位逻辑运算

这些例程将数字视为二进制位的集合,并且对数字的二进制表示中的相应位执行逻辑运算。

没有用于向左或向右移位的例程,但是您可以通过乘以或除以2的幂来实现相同的效果。

and_bits对相应的位执行逻辑AND
or_bits对相应的位执行逻辑或
xor_bits对相应的位执行逻辑XOR
not_bits对所有位执行逻辑NOT

文件和设备I/O.

要在文件或设备上进行输入或输出,必须先打开文件或设备,然后使用下面的例程读取或写入,然后关闭文件或设备。 open()将为您提供一个文件号,用作其他I/O例程的第一个参数。 某些文件/设备会自动为您打开(作为文本文件) -

  • 0 - 标准输入
  • 1 - 标准输出
  • 2 - 标准错误
open打开文件或设备
close关闭文件或设备
flush将缓冲的数据清除到文件或设备
lock_file锁定文件或设备
unlock_file解锁文件或设备
print在一行上打印一个Euphoria对象,用大括号和逗号{,,}来显示结构
pretty_print使用多行和适当的缩进以可读的形式打印Euphoria对象
Xshorthand for print(1, x)
sprint将打印的Euphoria对象作为字符串序列返回
printf格式化打印到文件或设备
sprintf格式化的打印作为字符串序列返回
puts将字符串序列输出到文件或设备
getc从文件或设备中读取下一个字符
gets从文件或设备中读取下一行
get_bytes从文件或设备中读取下n个字节
prompt_string提示用户输入字符串
get_key检查用户按下的键,不要等待
wait_key等待用户按一个键
get从文件中读取任何Euphoria对象的表示
prompt_number提示用户输入一个数字
value从字符串中读取任何Euphoria对象的表示
seek移动到打开文件中的任何字节位置
where报告打开文件中的当前字节位置
current_dir返回当前目录的名称
chdir切换到新的当前目录
dir返回目录中所有文件的完整信息
walk_dir递归遍历目录中的所有文件
allow_break允许control-c/control-Break终止你的程序
check_break检查用户是否按下了control-c或control-Break

鼠标支持(DOS32和Linux)

在Windows XP上,如果希望DOS鼠标在(非全屏)窗口中工作,则必须在DOS窗口的属性中禁用QuickEdit模式。

get_mouse返回鼠标“事件”(点击次数,动作)
mouse_events选择要监视的鼠标事件
mouse_pointer显示或隐藏鼠标指针

操作系统

time自过去的固定点以来的秒数
tick_rate设置每秒的时钟周期数(DOS32)
date当前年,月,日,小时,分钟,秒等
command_line用于运行此程序的命令行
getenv获取环境变量的值
system执行操作系统命令行
system_exec执行程序并获取其退出代码
abort终止执行
sleep暂停执行一段时间
platform找出我们正在运行的操作系统

特殊的机器相关例程

machine_func具有返回值的专门内部操作
machine_proc专门的内部操作,没有返回值

调试(Debugging)

trace动态打开或关闭跟踪
profile动态打开或关闭分析

图形和声音

以下例程允许您在屏幕上显示信息。 在DOS中,PC屏幕可以放置在许多图形模式之一中。

以下例程适用于所有文本和像素图形模式。

clear_screenclear the screen
position设置光标线和列
get_position返回光标行和列
graphics_mode选择一个新的像素图形或文本模式(DOS32)
video_config返回当前模式的参数
scroll向上或向下滚动文本
wrap控制线包裹在屏幕的右边缘
text_color设置前景文字颜色
bk_color设置背景颜色
palette更改一个颜色编号的颜色(DOS32)
all_palette更改所有颜色编号的颜色(DOS32)
get_all_palette获取所有颜色的调色板值(DOS32)
read_bitmap读取位图(.bmp)文件并返回调色板和2-D像素序列
save_bitmap在给定调色板和2维像素序列的情况下创建位图(.bmp)文件
get_active_page返回当前正在写入的页面(DOS32)
set_active_page更改当前正在写入的页面(DOS32)
get_display_page返回当前正在显示的页面(DOS32)
set_display_page更改当前显示的页面(DOS32)
sound在PC扬声器上发出声音(DOS32)

以下例程仅在模式下以文本形式工作

cursor选择光标形状
text_rows在文本屏幕上设置行数
get_screen_char从屏幕上获取一个字符
put_screen_char在屏幕上放一个或多个字符
save_text_image从文本屏幕保存矩形区域
display_text_image在文本屏幕上显示图像

以下例程仅适用于像素图形模式(DOS32)

pixel设置像素或像素集的颜色
get_pixel读取像素或像素组的颜色
draw_line用一条线连接一系列图形点
polygondraw an n-sided figure
ellipse画一个椭圆或圆圈
save_screen将屏幕保存为位图(.bmp)文件
save_image从像素图形屏幕保存矩形区域
display_image在像素图形屏幕上显示图像

多任务处理(Multitasking)

task_clock_start重新启动调度程序的时钟
task_clock_stop停止调度程序的时钟
task_createcreate a new task
task_list获取所有任务的列表
task_schedule安排执行任务
task_self返回当前任务的任务ID
task_status任务的当前状态(活动,暂停,终止)
task_suspendSuspend a task.
task_yield收益控制,因此调度程序可以选择要运行的新任务。