我知道RUBY没有指针功能,但有没办法实现以下条件。
ruby吧
全部回复
仅看楼主
level 1
宇振华华 楼主
class Bad
def initialize
@badhand
end
def == (other)
@badhand = other
true
end
def hand
return @badhand
end
end
bad = Bad.new
print false == bad
print bad == false
print bad.hand," is bad"
exit
例如这个程序。。我的设计意图是建立一个Bad类。。
用==符号重载实现判定OTHER变量为badhand。。
然后用hand函数返回。。
有一个问题是。。
ruby没有指针。。
我没办法绑定那个传入的OTHER变量。。
ruby有没有一些机制实现这一点。。
2020年02月03日 01点02分 1
level 1
没太懂你什么意思,Ruby的值是对象的引用,
irb(main):001:0> class A
irb(main):002:1> @var
irb(main):003:1> def set_var(a)
irb(main):004:2> @var = a
irb(main):005:2> end
irb(main):006:1> end
=> :set_var
irb(main):007:0> obj_a = A.new
=> #<A:0x000000000590fb78>
irb(main):008:0> obj_a.set_var "Out"
=> "Out"
irb(main):009:0> class B
irb(main):010:1> def set_var_of_a(a)
irb(main):011:2> a.set_var "In"
irb(main):012:2> end
irb(main):013:1> end
=> :set_var_of_a
irb(main):014:0> B.new.set_var_of_a obj_a
=> "In"
irb(main):015:0> p obj_a
#<A:0x000000000590fb78 @var="In">
=> #<A:0x000000000590fb78 @var="In">
所以并不需要指针类似的东西。。
2020年02月04日 03点02分 2
1