Project1

标题: 问一些关于rgss的语法 [打印本页]

作者: clear仔    时间: 2013-7-8 18:16
标题: 问一些关于rgss的语法
在类中,attr_reader和attr_writer是定义什么的,怎么用?(通俗点,我看f1说什么可读方法什么的,什么意思……)
怎么在一个类中,用另一个类的方法?
a = !a 这个赋值怪怪的,一个变量变成非自身?那它具体会变成什么?
if a != self 如果一个变量不等于自身?变量可以不等于自身?
作者: satgo1546    时间: 2013-7-8 19:15
(最好不要一帖多问
  1. attr_reader :a
复制代码
相当于
  1. def a
  2.   @a
  3. end
复制代码
  1. attr_writer :a
复制代码
相当于
  1. def a=(value)
  2.   @a = value
  3. end
复制代码

  1. a = !a
复制代码
如果a是true则a = false,a是false则a = true←取反用

变量当然可以不等于自身,比如$scene != self在Scene_Menu中调用,那么全局变量$scene不等于已经实例化的Scene_Menu时,返回真。
作者: SuperMario    时间: 2013-7-9 08:05
本帖最后由 SuperMario 于 2013-7-9 08:08 编辑

self指的是被调用此方法的实例,又不是指变量自身。
作者: R-零    时间: 2013-7-9 10:50
标题: 一贴多问好讨厌
本帖最后由 R-零 于 2013-7-9 11:14 编辑


在类中,attr_reader和attr_writer是定义什么的,怎么用?(通俗点,我看f1说什么可读方法什么的,什么意思……)
对实变量使用,变成类的只读/只写属性
怎么在一个类中,用另一个类的方法?
用子类的写法 class A < B
a = !a 这个赋值怪怪的,一个变量变成非自身?那它具体会变成什么?
这个方法用于布尔变量,true false
如果a是一个对象,那么a =!a  => a=false  ;再次使用变成true而不会变为原来的a
if a != self 如果一个变量不等于自身?变量可以不等于自身?
self 指的是一个类定义的本身而不是英语中的反身指代a,
例如
class A
def initialize
end
end
class B
def initialize
@a = A.new
end
def foo
p (@a != self)? #这里的self值得是B类
end
end
b = B.new
b.foo


作者: clear仔    时间: 2013-7-10 13:31
satgo1546 发表于 2013-7-8 19:15
(最好不要一帖多问相当于而相当于
如果a是true则a = false,a是false则a = true←取反用

变量当然 ...

谢谢.......
那么,nil和false 是不是一模一样的呢?如果提前设置a = nil,
后面的if a == nil 和 if a == false 的判定结果是不是一样的呢?




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