图书馆例程( Library Routines)
优质
小牛编辑
191浏览
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的序列 |
reverse | − | reverse a sequence |
append | − | 在序列的末尾添加一个新元素 |
prepend | − | 在序列的开头添加一个新元素 |
搜索和排序
compare | − | compare two objects |
equal | − | 测试两个对象是否相同 |
find | − | 在序列中查找对象 - 从元素编号1开始搜索 |
find_from | − | 在序列中查找对象 - 从任何元素编号开始搜索 |
match | − | 找到一个序列作为另一个序列的切片 - 从元素编号1开始搜索 |
match_from | − | 找到一个序列作为另一个序列的切片 - 从任何元素编号开始搜索 |
sort | − | 将序列的元素按升序排序 |
custom_sort | − | 根据您提供的比较函数对序列的元素进行排序 |
模式匹配
lower | − | 将原子或序列转换为小写 |
upper | − | 将原子或序列转换为大写 |
wildcard_match | − | 匹配包含?的模式? 和*通配符 |
wildcard_file | − | 根据通配符规范匹配文件名 |
Math
这些例程可以应用于单个原子或值序列。
sqrt | − | 计算对象的平方根 |
rand | − | generate random numbers |
sin | − | 计算角度的正弦值 |
arcsin | − | 用给定的正弦值计算角度 |
cos | − | 计算角度的余弦值 |
arccos | − | 用给定的余弦计算角度 |
tan | − | 计算角度的正切 |
arctan | − | 计算数字的反正切 |
log | − | calculate 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 | − | 解锁文件或设备 |
− | 在一行上打印一个Euphoria对象,用大括号和逗号{,,}来显示结构 | |
pretty_print | − | 使用多行和适当的缩进以可读的形式打印Euphoria对象 |
? X | − | shorthand 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_screen | − | clear 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 | − | 用一条线连接一系列图形点 |
polygon | − | draw an n-sided figure |
ellipse | − | 画一个椭圆或圆圈 |
save_screen | − | 将屏幕保存为位图(.bmp)文件 |
save_image | − | 从像素图形屏幕保存矩形区域 |
display_image | − | 在像素图形屏幕上显示图像 |
多任务处理(Multitasking)
task_clock_start | − | 重新启动调度程序的时钟 |
task_clock_stop | − | 停止调度程序的时钟 |
task_create | − | create a new task |
task_list | − | 获取所有任务的列表 |
task_schedule | − | 安排执行任务 |
task_self | − | 返回当前任务的任务ID |
task_status | − | 任务的当前状态(活动,暂停,终止) |
task_suspend | − | Suspend a task. |
task_yield | − | 收益控制,因此调度程序可以选择要运行的新任务。 |