跳转到内容

Dragon 语言入门 / 课程 / 函数

来自维基教科书,自由的教科书

在本章中,我们将学习以下主题:-

  • 定义函数
  • 调用函数
  • 声明参数
  • 传递参数
  • 变量作用域
  • 返回值

定义函数

[编辑 | 编辑源代码]

要定义一个新的函数

语法

	func <function_name> (parameters)
	{
		Block of statements
	}


示例

	func hello()
	{
		showln "Hello from function"
	}

调用函数

[编辑 | 编辑源代码]

提示:我们可以在函数定义之前调用函数。

示例

	hello()

	func hello()
	{
		showln "Hello from function"
	}


示例

	first()  second()

	func first() {
		showln "message from the first function" 
	}

	func second() {
		showln "message from the second function" 
	}

声明参数

[编辑 | 编辑源代码]

要声明函数参数,请在括号中写出参数。

示例

	func sum(x, y)
	{
		showln x + y
	}

传递参数

[编辑 | 编辑源代码]

要向函数传递参数,请在函数名后的 () 内输入参数

语法

	name(parameters)

示例

	/* output
	** 8
	** 3000
	*/

	sum(3, 5) sum(1000, 2000)

	func sum(x, y)
	{
		showln x + y
	}

变量作用域

[编辑 | 编辑源代码]

Dragon 编程语言使用 词法作用域 来确定变量的作用域。

在函数内部定义的变量(包括函数参数)是局部变量。在函数外部(在任何函数之前)定义的变量是全局变量。

在任何函数内部,我们都可以访问定义在该函数内部的变量,以及全局变量。

示例

	// the program will print numbers from 10 to 1
	
	x = 10                    // x is a global variable.
	
	for(t = 1, t < 11, t++)   // t is a local variable
		mycounter()           // call function

	func mycounter() {
		showln x              // print the global variable value
		x--                   //decrement
	}

返回值

[编辑 | 编辑源代码]

函数可以使用 return 命令返回一个值。

语法

	return <expression>


示例

	showln my(30, 40)      // prints 70
	
	func my(a, b)
	{ 
		return a + b
	}


华夏公益教科书