- Euphoria 教程
- Euphoria - 首页
- Euphoria - 概述
- Euphoria - 环境
- Euphoria - 基本语法
- Euphoria - 变量
- Euphoria - 常量
- Euphoria - 数据类型
- Euphoria - 运算符
- Euphoria - 分支
- Euphoria - 循环类型
- Euphoria - 流程控制
- Euphoria - 短路
- Euphoria - 序列
- Euphoria - 日期和时间
- Euphoria - 过程
- Euphoria - 函数
- Euphoria - 文件I/O
- Euphoria 有用资源
- Euphoria - 快速指南
- Euphoria - 库例程
- Euphoria - 有用资源
- Euphoria - 讨论
Euphoria - 库例程
提供了大量的库例程。有些内置于解释器中,ex.exe、exw.exe 或 exu。其他的是用 Euphoria 编写的,您必须包含euphoria\include目录中的一个 .e 文件才能使用它们。
为了指示可以传入和返回哪种类型的对象,使用了以下前缀:
| 序号 | 前缀和描述 |
|---|---|
| 1 | x 通用对象(原子或序列) |
| 2 | s 序列 |
| 3 | a 原子 |
| 4 | i 整数 |
| 5 | fn 用作文件号的整数 |
| 6 | st 字符串序列或单字符原子 |
预定义类型
除了用这些类型声明变量之外,您还可以像调用普通函数一样调用它们,以测试某个值是否为某种类型。
序列操作
| length | – | 返回序列的长度 |
| repeat | – | 将对象重复 n 次以形成长度为 n 的序列 |
| reverse | – | 反转序列 |
| append | – | 在序列末尾添加一个新元素 |
| prepend | – | 在序列开头添加一个新元素 |
搜索和排序
| compare | – | 比较两个对象 |
| equal | – | 测试两个对象是否相同 |
| find | – | 在序列中查找对象 - 从元素编号 1 开始搜索 |
| find_from | – | 在序列中查找对象 - 从任何元素编号开始搜索 |
| match | – | 查找另一个序列的切片作为序列 - 从元素编号 1 开始搜索 |
| match_from | – | 查找另一个序列的切片作为序列 - 从任何元素编号开始搜索 |
| sort | – | 将序列的元素排序为升序 |
| custom_sort | – | 根据您提供的比较函数对序列的元素进行排序 |
模式匹配
| lower | – | 将原子或序列转换为小写 |
| upper | – | 将原子或序列转换为大写 |
| wildcard_match | – | 匹配包含 ? 和 * 通配符的模式 |
| wildcard_file | – | 将文件名与通配符规范匹配 |
数学
这些例程可以应用于单个原子或值序列。
| sqrt | – | 计算对象的平方根 |
| rand | – | 生成随机数 |
| sin | – | 计算角度的正弦 |
| arcsin | – | 计算具有给定正弦的角度 |
| cos | – | 计算角度的余弦 |
| arccos | – | 计算具有给定余弦的角度 |
| tan | – | 计算角度的正切 |
| arctan | – | 计算数字的反正切 |
| log | – | 计算自然对数 |
| floor | – | 向下舍入到最接近的整数 |
| remainder | – | 计算一个数除以另一个数的余数 |
| power | – | 计算一个数的幂 |
| PI | – | 数学值 PI (3.14159...) |
按位逻辑运算
这些例程将数字视为二进制位的集合,并且对数字二进制表示中相应的位执行逻辑运算。
没有用于将位左移或右移的例程,但您可以通过乘以或除以 2 的幂来实现相同的效果。
文件和设备I/O
要对文件或设备进行输入或输出,您必须首先打开文件或设备,然后使用以下例程读取或写入它,然后关闭文件或设备。open() 将为您提供一个文件号,用作其他 I/O 例程的第一个参数。某些文件/设备会自动为您打开(作为文本文件):
- 0 - 标准输入
- 1 - 标准输出
- 2 - 标准错误
| open | – | 打开文件或设备 |
| close | – | 关闭文件或设备 |
| flush | – | 将缓冲数据刷新到文件或设备 |
| lock_file | – | 锁定文件或设备 |
| unlock_file | – | 解锁文件或设备 |
| – | 在一行上打印 Euphoria 对象,使用大括号和逗号 {,,} 来显示结构 | |
| pretty_print | – | 以易于阅读的形式打印 Euphoria 对象,使用多行和适当的缩进 |
| ? x | – | 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 窗口的属性中的快速编辑模式。
| get_mouse | – | 返回鼠标“事件”(点击、移动) |
| mouse_events | – | 选择要监视的鼠标事件 |
| mouse_pointer | – | 显示或隐藏鼠标指针 |
操作系统
| time | – | 自过去某个固定点以来的秒数 |
| tick_rate | – | 设置每秒的时钟滴答数 (DOS32) |
| date | – | 当前年份、月份、日期、小时、分钟、秒等 |
| command_line | – | 用于运行此程序的命令行 |
| getenv | – | 获取环境变量的值 |
| system | – | 执行操作系统命令行 |
| system_exec | – | 执行程序并获取其退出代码 |
| abort | – | 终止执行 |
| sleep | – | 暂停执行一段时间 |
| platform | – | 找出我们正在运行哪个操作系统 |
特殊的机器相关例程
| machine_func | – | 具有返回值的专门内部操作 |
| machine_proc | – | 没有返回值的专门内部操作 |
调试
图形和声音
以下例程允许您在屏幕上显示信息。在 DOS 中,PC 屏幕可以置于多种图形模式之一。
以下例程适用于所有文本和像素图形模式。
| clear_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) 文件并返回调色板和像素的二维序列 |
| save_bitmap | – | 创建一个位图 (.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 | – | 绘制一个n边形 |
| ellipse | – | 绘制椭圆或圆形 |
| save_screen | – | 将屏幕保存到位图(.bmp)文件 |
| save_image | – | 保存像素图形屏幕上的矩形区域 |
| display_image | – | 在像素图形屏幕上显示图像 |
多任务处理
| task_clock_start | – | 重新启动调度程序的时钟 |
| task_clock_stop | – | 停止调度程序的时钟 |
| task_create | – | 创建一个新任务 |
| task_list | – | 获取所有任务的列表 |
| task_schedule | – | 调度一个任务以执行 |
| task_self | – | 返回当前任务的任务ID |
| task_status | – | 任务的当前状态(活动、挂起、终止) |
| task_suspend | – | 挂起一个任务。 |
| task_yield | – | 放弃控制权,以便调度程序可以选择一个新的任务来运行。 |
广告