- Euphoria Tutorial
- Euphoria - Home
- Euphoria - Overview
- Euphoria - Environment
- Euphoria - Basic Syntax
- Euphoria - Variables
- Euphoria - Constants
- Euphoria - Data Types
- Euphoria - Operators
- Euphoria - Branching
- Euphoria - Loop Types
- Euphoria - Flow Control
- Euphoria - Short Circuit
- Euphoria - Sequences
- Euphoria - Date & Time
- Euphoria - Procedures
- Euphoria - Functions
- Euphoria - Files I/O
- Euphoria Useful Resources
- Euphoria - Quick Guide
- Euphoria - Library Routines
- Euphoria - Useful Resources
- Euphoria - Discussion
Euphoria - 图书馆日常事务
提供了大量的库例程。有些直接内置于解释器中,例如ex.exe、exw.exe 或 exu。其他是用 Euphoria 编写的,您必须将 .e 文件之一包含在euphoria\include目录中才能使用它们。
为了指示可以传入和返回什么类型的对象,使用以下前缀 -
| 序列号 | 前缀和描述 |
|---|---|
| 1 | X 一般对象(Atomics或序列) |
| 2 | s 一个序列 |
| 3 | A 一个Atomics |
| 4 | 我 一个整数 |
| 5 | 号 用作文件编号的整数 |
| 6 | 英石 字符串序列或单字符Atomics |
预定义类型
除了使用这些类型声明变量之外,您还可以像普通函数一样调用它们,以测试值是否为某种类型。
序列操作
搜索和排序
| 比较 | - | 比较两个对象 |
| 平等的 | - | 测试两个对象是否相同 |
| 寻找 | - | 在序列中查找对象 - 从元素编号 1 开始搜索 |
| 查找来源 | - | 查找序列中的对象 - 从任意元素编号开始搜索 |
| 匹配 | - | 查找一个序列作为另一个序列的切片 - 从元素号 1 开始搜索 |
| 匹配来源 | - | 查找一个序列作为另一个序列的切片 - 从任意元素编号开始搜索 |
| 种类 | - | 将序列的元素按升序排序 |
| 自定义排序 | - | 根据您提供的比较函数对序列的元素进行排序 |
模式匹配
数学
这些例程可以应用于单个Atomics或值序列。
| 开方 | - | 计算对象的平方根 |
| 兰特 | - | 生成随机数 |
| 罪 | - | 计算角度的正弦 |
| 反正弦 | - | 计算给定正弦的角度 |
| 因斯 | - | 计算角度的余弦 |
| 阿科斯 | - | 计算给定余弦的角度 |
| 晒黑 | - | 计算角度的正切 |
| 反正切 | - | 计算数字的反正切 |
| 日志 | - | 计算自然对数 |
| 地面 | - | 向下舍入到最接近的整数 |
| 余 | - | 计算一个数字除以另一个数字时的余数 |
| 力量 | - | 计算一个数的幂 |
| PI | - | 数学值 PI (3.14159...) |
按位逻辑运算
这些例程将数字视为二进制位的集合,并对数字的二进制表示中的相应位执行逻辑运算。
没有用于左移或右移位的例程,但您可以通过乘以或除以 2 的幂来实现相同的效果。
文件和设备 I/O
要在文件或设备上进行输入或输出,您必须首先打开文件或设备,然后使用下面的例程对其进行读取或写入,最后关闭文件或设备。open()将为您提供一个文件号,用作其他 I/O 例程的第一个参数。某些文件/设备会自动为您打开(作为文本文件) -
- 0 - 标准输入
- 1 - 标准输出
- 2 - 标准误差
| 打开 | - | 打开文件或设备 |
| 关闭 | - | 关闭文件或设备 |
| 冲水 | - | 将缓冲数据刷新到文件或设备 |
| 锁文件 | - | 锁定文件或设备 |
| 解锁文件 | - | 解锁文件或设备 |
| 打印 | - | 在一行上打印一个 Euphoria 对象,用大括号和逗号 {,,} 显示结构 |
| 漂亮的打印 | - | 使用多行和适当的缩进以良好可读的形式打印 Euphoria 对象 |
| ?X | - | print(1, x) 的简写 |
| 短跑 | - | 以字符串序列形式返回打印的 Euphoria 对象 |
| 打印函数 | - | 格式化打印到文件或设备 |
| 冲刺函数 | - | 以字符串序列形式返回的格式化打印 |
| 看跌期权 | - | 将字符串序列输出到文件或设备 |
| 获取TC | - | 从文件或设备读取下一个字符 |
| 得到 | - | 从文件或设备读取下一行 |
| 获取字节 | - | 从文件或设备中读取接下来的 n 个字节 |
| 提示字符串 | - | 提示用户输入字符串 |
| 获取密钥 | - | 检查用户按下的键,不要等待 |
| 等待键 | - | 等待用户按键 |
| 得到 | - | 从文件中读取任何 Euphoria 对象的表示 |
| 提示号 | - | 提示用户输入数字 |
| 价值 | - | 从字符串中读取任何 Euphoria 对象的表示 |
| 寻找 | - | 移动到打开文件中的任意字节位置 |
| 在哪里 | - | 报告打开文件中的当前字节位置 |
| 当前目录 | - | 返回当前目录的名称 |
| 目录 | - | 更改为新的当前目录 |
| 目录 | - | 返回目录中所有文件的完整信息 |
| 步行目录 | - | 递归遍历目录中的所有文件 |
| 允许中断 | - | 是否允许 control-c/control-Break 终止你的程序 |
| 检查中断 | - | 检查用户是否按下了 control-c 或 control-Break |
鼠标支持(DOS32 和 Linux)
在 Windows XP 上,如果您希望 DOS 鼠标在(非全屏)窗口中工作,则必须在 DOS 窗口的属性中禁用快速编辑模式。
操作系统
| 时间 | - | 自过去某个固定点以来的秒数 |
| 滴答率 | - | 设置每秒时钟滴答数 (DOS32) |
| 日期 | - | 当前的年、月、日、时、分、秒等。 |
| 命令行 | - | 用于运行该程序的命令行 |
| 获取环境 | - | 获取环境变量的值 |
| 系统 | - | 执行操作系统命令行 |
| 系统执行 | - | 执行程序并获取其退出代码 |
| 中止 | - | 终止执行 |
| 睡觉 | - | 暂停执行一段时间 |
| 平台 | - | 找出我们正在运行的操作系统 |
特殊机器相关例程
调试
图形和声音
以下例程可让您在屏幕上显示信息。在 DOS 中,PC 屏幕可以置于多种图形模式之一。
以下例程适用于所有文本和像素图形模式。
| 清屏 | - | 清除屏幕 |
| 位置 | - | 设置光标所在行和列 |
| 获取位置 | - | 返回光标所在行和列 |
| 图形模式 | - | 选择新的像素图形或文本模式(DOS32) |
| 视频配置 | - | 返回当前模式的参数 |
| 滚动 | - | 向上或向下滚动文本 |
| 裹 | - | 控制线在屏幕右边缘换行 |
| 文字颜色 | - | 设置前景文本颜色 |
| 背景颜色 | - | 设置背景颜色 |
| 调色板 | - | 更改一种颜色编号的颜色 (DOS32) |
| 所有调色板 | - | 更改所有颜色编号的颜色 (DOS32) |
| 获取所有调色板 | - | 获取所有颜色的调色板值(DOS32) |
| 读取位图 | - | 读取位图 (.bmp) 文件并返回调色板和二维像素序列 |
| 保存位图 | - | 创建一个位图 (.bmp) 文件,给定调色板和二维像素序列 |
| 获取活动页面 | - | 返回当前正在写入的页面(DOS32) |
| 设置活动页面 | - | 更改当前正在写入的页面(DOS32) |
| 获取显示页面 | - | 返回当前显示的页面(DOS32) |
| 设置显示页面 | - | 更改当前显示的页面 (DOS32) |
| 声音 | - | 在 PC 扬声器上发出声音 (DOS32) |
以下例程仅在文本模式下工作
| 光标 | - | 选择光标形状 |
| 文本行数 | - | 设置文本屏幕上的行数 |
| 获取屏幕字符 | - | 从屏幕上获取一个字符 |
| put_screen_char | - | 在屏幕上放置一个或多个字符 |
| 保存文本图像 | - | 从文本屏幕保存矩形区域 |
| 显示文本图像 | - | 在文本屏幕上显示图像 |
以下例程仅在像素图形模式下工作(DOS32)
| 像素 | - | 设置一个像素或一组像素的颜色 |
| 获取像素 | - | 读取一个像素或一组像素的颜色 |
| 画线 | - | 用直线连接一系列图形点 |
| 多边形 | - | 画一个n边图形 |
| 椭圆 | - | 画一个椭圆或圆 |
| 保存屏幕 | - | 将屏幕保存为位图 (.bmp) 文件 |
| 保存图片 | - | 从像素图形屏幕保存矩形区域 |
| 显示图像 | - | 在像素图形屏幕上显示图像 |