Swap 函数
<..========================================================
== ==
== Macrobject Nuva Samples ==
== ==
== Copyright (c) 2004-2006 Macrobject Software ==
== ==
== ALL RIGHTS RESERVED ==
== ==
== http://www.macrobject.com ==
== ==
========================================================..>
<.
function Swapa1, a2 var tmp = a1
a1 = a2
a2 = tmp
end function
var a = 'a'
var b = 'b'
?? '==init value'
?? 'a = ' + a
?? 'b = ' + b
Swapref a, ref b ?? '==swap value - success'
?? 'a = ' + a
?? 'b = ' + b
Swapa, a ?? '==swap value - failure'
?? 'a = ' ~ a
?? 'b = ' ~ b
.>
<..
【简介】
这是一个函数调用的参数传递示例。
在 Nuva 语言中,函数参数默认按照传值的方式传递,对象类型则传递对象引用。
可以在函数调用的时候明确指明是否采用传址的方式,ref 关键字可以用于指明这种用法。
【看点】
本例中 Swap 函数与一般函数没什么分别,函数的功能就是交换传进来的两个参数。
在调用 Swap 函数的时候,如果参数都加了 ref 引用,则 Swap 能将两个参数的值交换成功。否则,在调用 Swap 函数之后,这两个变量的值没有改变。
运行结果证实了这一点。
【扩展】
本例为了演示 ref 参数的用法,以一个 Swap 函数作为例子。ref 参数可以用于多种场合。
【运行结果】
==init value
a = a
b = b
==swap value - success
a = b
b = a
==swap value - failure
a = b
b = a
..>
posted on 2006-09-25 10:57 Wisdom-zh 阅读(2330) 评论(0) 编辑 收藏 举报