Rob*_*cks 5 args actionscript-3 byref
知道如何从ActionScript 3中的函数返回多个变量吗?
像VB.NET,你可以修改输入参数的变量(ByRef参数)吗?
Sub do (ByRef inout As Integer)
inout *= 5;
End Sub
Dim num As Integer = 10
Debug.WriteLine (num) '10
do (num)
Debug.WriteLine (num) '50
Run Code Online (Sandbox Code Playgroud)
除了返回关联数组之外的任何东西?
return {a:"string 1", b:"string 2"}
Run Code Online (Sandbox Code Playgroud)
似乎字符串,整数,单位,布尔值都是通过值传递的. 我在Flash中尝试了这个小片段,结果是否定的:
function func(a:String){
a="newVal";
}
var b:String = "old";
trace(b) // old
func(b);
trace(b) // old
Run Code Online (Sandbox Code Playgroud)
那么...... String也是列入黑名单的数据类型吗?布尔也呢?我的意思是什么方式告诉哪些类型通过引用传递?
除了 [u]int 之外,AS3 中的所有内容都是引用。概括地说,继承的所有内容都Object
将通过引用传递给函数。
Array
话虽如此,我相信您可以做到这一点的唯一方法是使用像or a String
(“5”并进行转换+数学)这样的容器类。