- 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 - 功能
Euphoria 函数就像过程一样,但它们返回一个值,并且可以在表达式中使用。本章介绍如何在 Euphoria 中编写自己的函数。
功能定义
在使用函数之前,我们需要定义它。在 Euphoria 中定义函数的最常见方法是使用function关键字,后跟唯一的函数名称、参数列表(可能为空)以及以end function语句结尾的语句块。基本语法如下所示 -
function functionname(parameter-list) statements .......... return [Euphoria Object] end function
例子
这里定义了一个名为 sayHello 的简单函数,它不带任何参数 -
function sayHello() puts(1, "Hello there") return 1 end function
调用函数
要稍后在脚本中的某个位置调用函数,您只需编写该函数的名称,如下所示 -
#!/home/euphoria-4.0b2/bin/eui function sayHello() puts(1, "Hello there") return 1 end function -- Call above defined function. sayHello()
这会产生以下结果 -
Hello there
功能参数
到目前为止我们已经看到了没有参数的函数。但是有一种方法可以在调用函数时传递不同的参数。这些传递的参数可以在函数内部捕获,并且可以对这些参数进行任何操作。
一个函数可以采用多个参数,并用逗号分隔。
例子
让我们对sayHello函数做一些修改。这次需要两个参数 -
#!/home/euphoria-4.0b2/bin/eui function sayHello(sequence name,atom age) printf(1, "%s is %d years old.", {name, age}) return 1 end function -- Call above defined function. sayHello("zara", 8)
这会产生以下结果 -
zara is 8 years old.
退货声明_
Euphoria 函数在关闭语句end function之前必须有return语句。任何 Euphoria 对象都可以被返回。实际上,您可以通过返回对象序列来获得多个返回值。例如
return {x_pos, y_pos}
如果没有什么可返回的,那么只需返回1或0即可。返回值1表示成功,0表示失败