编程
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

Yield语句

使用yield关键字对函数的起始点进行更改以便将来调用。在执行时,yield语句的功能类似于return语句并且此语句甚至还能返回数值。而两种语句之间存在有不同之处,即在调用下一个函数期间会从yield运算符后面的指令处开始执行。

语法

源代码 (UnigineScript)
// some_code_before; 
yield value; 
// some_code_after;

部分

  • value 是计算得出的值,为可选选项(默认值为0)。

示例

源代码 (UnigineScript)
int foo() {
	begin:
		
		// 首次调用从此处开始执行
		log.message("one, ");
		
		// 首次调用在此结束
		yield;
		
		// 第二次调用从此处开始执行
		log.message("two, ");
		
		// 第二次调用在此结束
		yield;
		
		// 第三次调用从此处开始执行
		log.message("three, ");
		
		// 第三次调用在此结束
		yield;
		
		// 第四次调用从此处开始执行
		goto begin;
}
forloop(int i = 0; 10) foo();

// 结果为: one, two, three, one, two, …
最新更新: 2017-07-03