Project1

标题: 问一个脚本 [打印本页]

作者: kvkv97    时间: 2013-12-15 17:46
标题: 问一个脚本
def update_cursor_rect
    # 光标位置不满 0 的情况下
    if index < 0      
      self.cursor_rect.empty      
      return
    end
?????empty是函数吗?还是变量?
?????怎么光标矩形有小于0的?
if row < self.top_row
     # 从当前行向开头行滚动
     self.top_row = row
?????self是伪变量?它起到什么作用?
作者: 蕾米莉亚·斯卡雷特    时间: 2013-12-15 19:11
empty 是函数, 或者说是方法. 其实应该是 self.cursor_rect.empty() . 只是省略了 () 罢了.

光标是可以小于 0 的. 小于 0 表示的是这个窗口的光标不显示, 也就是隐藏.

self 是变量. 意思是代表的是它自己.

比如说:
  1. class A
  2.    def show
  3.      p self
  4.    end
  5. end

  6. a = A.new
  7. p a
  8. a.show
复制代码
你会发现两次输出的结果都是一样的. 这说明 self 其实指的是调用这个方法的实例本身.
作者: kvkv97    时间: 2013-12-17 16:31
局部变量能用来赋值吗?
作者: 774741359    时间: 2013-12-17 17:48
kvkv97 发表于 2013-12-17 16:31
局部变量能用来赋值吗?


关于变量,F1里有讲但不如VA的介绍详细。

1.局部变量,在区域变量作用区(类、模块、方法定义)内有效,第一次为其赋值视为声明
2.实例变量,以「@」开头的变量就是实例变量,属于特定对象。实例变量可以在任何本类或子类方法内引用。
3.全局变量,以「$」开头的变量就是全局变量,可以在程序中任何一处引用(因此使用时要特别注意)。

补充:局部变量的第一位必须是小写英文字母或者是下划线"_"




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