设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1787|回复: 4
打印 上一主题 下一主题

[已经解决] 请问这里的冒号代表着什么

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3117
在线时间
205 小时
注册时间
2019-9-16
帖子
224
跳转到指定楼层
1
发表于 2020-1-4 17:08:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 寒凌天 于 2020-1-4 17:16 编辑

RUBY 代码复制
  1. # マップ画面のシーンクラスです。
  2. class Scene_Map
  3.   alias :main_lsrs1 :main          #请问这个冒号,代表着什么?
  4.   alias :update_lsrs1 :update
  5.  
  6.   # シーンの処理を実行します。
  7.   def main
  8.     @location_sprite = LSRS::Sprite_Location.new($game_map.map_name)
  9.     main_lsrs1
  10.     @location_sprite.dispose
  11.   end
  12.  
  13.   # フレームの更新を行います。
  14.   def update
  15.     update_lsrs1
  16.     @location_sprite.update
  17.   end
  18. end


alias :main_lsrs1 :main          #请问这个冒号,代表着什么?
有的地方是双冒号,请问这些是什么意思,在哪里能不能找到相关语法的介绍?

比如这句:@location_sprite = LSRS::Sprite_Location.new($game_map.map_name)
就是双冒号,什么意思呢?

Lv5.捕梦者

梦石
10
星屑
39592
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

2
发表于 2020-1-5 00:39:32 | 只看该作者
冒号开头是符号字面量的生成方式

ruby中,符号(Symbol)是一种不可变(immutable)的对象
感性认识上可以将符号与字符串做对比,例如:main 与 "main"

由于符号的不可变以及相比常量来说用起来方便,在ruby中被大量用作重要内容的“标识”
例如,所有的方法在定义时,就同时保存了一份以方法名为内容的符号
正因如此,符号也可以用来象征同名的方法
在 alias :main_lsrs1 :main 这句中,就是为main起了一个别名main_lsrs1
相当于另外定义了一个方法叫main_lsrs1,做着和main一样的事

至于双冒号::,那是对类(模块)内容的访问操作符,可以类比点.
只不过,点无法访问类里的常量,因此规范上来说,调用类方法用.而读取类常量用::

例如一个类Window_Base,它的内部定义了一个常量WLH,而其他的类想要访问WLH的值
那就要用Window_Base::WLH来告诉解释器,让它到Window_Base里面去找WLH,因为只有那里才有

又假如有一个模块RPG,它的内部定义了一个类叫BaseItem,由于类名是一个常量,
因此在模块外要引用BaseItem就要写RPG::BaseItem,例如生成一个实例 bi = RPG::BaseItem.new

点评

非常感谢解答!内容有点深度,我要多学下  发表于 2020-1-5 18:54

评分

参与人数 2星屑 +70 +2 收起 理由
RyanBern + 70 + 1 认可答案
taeckle + 1 大神威武!

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
959
在线时间
172 小时
注册时间
2019-8-15
帖子
142
3
发表于 2020-1-5 07:16:34 | 只看该作者
ruby中语法和大多数计算机语言基本相同,双冒号的意义:
1.作用域符号::的前面一般是类名称,后面一般是该类的成员名称。
2.全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分。
3.作用域分解运算符,嘛,通俗一点来说,就是调用一个变量或函数之类的东西。

点评

非常感谢解答!我要多学下  发表于 2020-1-5 21:33
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 00:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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