Project1
标题:
关于ruby中实变量作属性的问题.
[打印本页]
作者:
水镜风生
时间:
2008-2-7 06:30
标题:
关于ruby中实变量作属性的问题.
programming ruby中有这么一段( }}后的是返回值):
class Song
def name
@name
end
def artist
@artist
end
def duration
@duration
end
end
aSong = Song.new("Bicylops", "Fleck", 260)
aSong.artist }} "Fleck"
aSong.name }} "Bicylops"
aSong.duration }} 260
Song.new后面的括号里的是什么?参数?
"Bicylops", "Fleck", 260是怎么和方法中的实变量结合的?
[LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
水镜风生
时间:
2008-2-7 18:46
没有好心人来解答一下么......这段一直想不明白啊.......
作者:
趙雲
时间:
2008-2-7 18:54
貌似少了一段初始化
def initialize(name,artist,duration)
@name = name
@artist = artist
@duration = duration
end
括号里的参数在初始化的时候传给实例变量 [LINE]1,#dddddd[/LINE]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者:
水镜风生
时间:
2008-2-7 20:03
是这样吗?还是有些不明白,可否再解释一下下面这一段?alex.name=" Allex"是给name属性赋值?name指的是@name还是def name中的name,哪个语句使它变成属性的?麻烦了.....
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
作者:
白河·愁
时间:
2008-2-8 04:39
提示:
作者被禁止或删除 内容自动屏蔽
作者:
水镜风生
时间:
2008-2-8 05:20
明白了,感谢......但是还是不明白为什么是alex.name="Allex"而不是alex.name=(Allex).
作者:
Eclair
时间:
2008-2-8 20:15
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1