Project1

标题: 咱这个渣渣来问个关于基础脚本的问题 [打印本页]

作者: 墟源    时间: 2011-11-28 23:42
标题: 咱这个渣渣来问个关于基础脚本的问题

class Person  
  def name
    return @name
  end
  def name=(name)
    @name = name
  end   
  def hello
    print "我是" + @name + ""
  end
end
alex = Person.new
alex.name = "艾力克斯"
alex.hello                  # => 我是艾力克斯

求指导这个方法的运转细节,
还有那个:“我是”+@name+“” 里最后的+“”为什么去掉了不影响输出?那要他干嘛的?
还有第一个函数去掉了似乎也没影响?那又是做什么的?
求解答
dsu_plus_rewardpost_czw
作者: darkscout3000    时间: 2011-11-28 23:53
= = 这个⋯⋯还真是⋯⋯

大概是
有一个叫 Person 的类
alex = Person.new 初始化了一个新实例
alex.name = "艾里克斯" 呼叫的是 def name=(name) 方法,将Person类的@name变量设置成 艾里克斯
alex.hello 就是 def hello 方法了

那个 冒号冒号 之所以去掉没影响是因为它是空白的⋯⋯
文字之间用加号就是把文字串起来,只有冒号里面的文字会显示,而双冒号里面的是空白,所以有没有都一样

第一个函数是读取Person类里面@name变量的值,但是这段代码没有用到那个函数,所以没有体现出来用途
你自己加个
  1. p alex.name
复制代码
就知道了

作者: 墟源    时间: 2011-11-29 00:01
果然那几个只是扰乱视线,亏我这么纠结


墟源于2011-11-29 00:02补充以下内容:
连帮助文档也欺负渣渣。。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1