幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1620|回复: 1

求救@变量

[复制链接]

8

主题

21

帖子

493

积分

④见习

谦虚的学者

积分
493
发表于 2004-11-2 00:34:01 | 显示全部楼层 |阅读模式
以下是引用rgss教程里的:

属性:

以@为开头的变量名,这个变量自动地作为属性而使用。局部变量只有在 def..end 等结构内有效,然而如果能使用属性的话,只要对象的实例存在,则属性的值总是被保存。

class Person
def name
return @name
end
def name=(name)
@name = name
end
def hello
print" 我是 "+@ name+""
end
end

alex = Person.new
alex.name=" Allex"
alex.hello #=> 我是 Allex
在这个例子中, @ 准备 name 属性,而 name() , name=()方法分别定义了如何对@name取值和如何设置@name的值。

----------------

@变量到底怎么用?什么意思?那位能帮我分析一下这段脚本,不理解

而且这个脚本好像有误,不能执行
书到用时方恨少!
回复

使用道具 举报

1

主题

12

帖子

209

积分

③业余

积分
209
发表于 2004-12-1 20:26:56 | 显示全部楼层
这断代码的确有错:print 中的@和name之间不能加空格。
这断代码中的name以各种不一样的形式大量出现,作为入门教程的确会让初学者头晕,建议改成这样就容易理解了:

class Person
def name
return @name
end
def name=(x)
@name = x
end
def hello
print\" 我是 \"+@name+\"\"
end
end

alex = Person.new
alex.name=\" Allex\"
alex.hello #=> 我是 Allex
其中的x是虚变量,我用来代替原来的name,运行结果和原来代码的一样的。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-18 23:51 , Processed in 0.014586 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表