标题: 这两个脚本的写法采取哪个比较好? [打印本页] 作者: 夜狠简单 时间: 2013-1-10 00:55 标题: 这两个脚本的写法采取哪个比较好? #找出不同的原因
class A
attr_accessor :b
@@a = 5
def initialize(n)
@b = n
end
def a
return @@a
end
def a=(n)
@@a = n
end
end
#_运算一________________________________
v1 = A.new("a5")
v2 = A.new("a9")
p v1.a #=>"5"
p v1.b #=>"a5"
p v2.a #=>"5"
p v2.b #=>"a9"
#_运算二_______________________________________
v2.a = "a4"
v2.b = "a8"
p v1.a #=>"a4"
p v1.b #=>"a5"
p v2.b #=>"a8"
p v2.a #=>"a4"
# 定义类
class B
attr_accessor :a
@a = 100
@@a = 999
def a2
return @@a
end
def a2=(a2)
@@a = a2
end
end
# 生成实例
v1 = B.new
v2 = B.new
# 测试
v1.a = "晕倒"
v2.a = "死撑"
p v1.a # “晕倒”
p v2.a # “死撑”
v1.a2 = "第一个"
v2.a2 = "第二个"
p v1.a2 # "第二个"
p v2.a2 # "第二个"
█问题:这句v2.a2 = "第二个"的解释是修改@@a的值吗?
# 定义类
class B
attr_accessor :a
@a = 100
@@a = 999
def a2
return @@a
end
def a2=(a2)
@@a = a2
end
end
█问题:为什么这里第二个用a2
█而下一个用的是a=(n),括号里面的n是一个什么样的数?
class A
attr_accessor :b
@@a = 5
def initialize(n)
@b = n
end
def a
return @@a
end
def a=(n)
@@a = n
end
end 作者: 夜狠简单 时间: 2013-1-10 00:57 头大了,DS。指点一下作者: 创造达人 时间: 2013-1-11 23:28
因为a2=》7作者: 哀筝一弄湘江曲 时间: 2013-1-12 21:11
不能理解@@a是個什麼寫法……
求樓主指教。
不過個人來看是算法越簡潔越好,是在功用不變的情況下。作者: zhangbanxian 时间: 2013-1-14 00:25 本帖最后由 zhangbanxian 于 2013-1-14 00:27 编辑