为了账号安全,请及时绑定邮箱和手机立即绑定

ruby的方法支持方法调用作为参数吗

ruby的方法支持方法调用作为参数吗

DIEA 2019-05-25 15:15:05
ruby的方法支持方法调用作为参数吗
查看完整描述

2 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

就是引用对象传参,传到函数里边你在函数里修改它,实参也会变

比如数组是引用对象吧
void foo(int[] a)有这么一个函数,你在函数体里a[0] = 3;

然后其他地方调用foo
int[] a = new int[]{1,2,3,4};
foo(a);
// 到这里结果a[0]就变成3了

你例子里的x和harry你可以看作是一个指代,它们两指向同一快内存,在函数里x修改了它指向的地方,也就相当于harry指向的地方被修改了

下面->表示指向,比如a->xxx,a指向xxx这块内存

a -> Employee(A)
b -> Employee(B)

传参到swap里
a = x -> Employee(A)
b = y -> Employee(B)
swap结束时
b = x -> Employee(B)
a = y -> Employee(A)
也就是说,swap只是交换x和y的引用,它们两引用的对象被交换了,然后x和y是swap内部的局部变量,函数结束就over了
对调用者传入的a和b没有实质上的改变


 



查看完整回答
反对 回复 2019-05-26
  • 2 回答
  • 0 关注
  • 500 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信