Project1

标题: 请问:::是什么用法 [打印本页]

作者: kvkv97    时间: 2023-10-3 20:56
标题: 请问:::是什么用法
代码:
$scene =\Mercenaries::\Scene_Mercenaries.new(a)
代码:
module Mercenaries
  class Window_Help < ::Window_Base
  end
end
请问:符号::在类前面(例如::Window_Base)和在模块后面(例如Mercenaries::)是什么意思?有什么用途?
作者: 企鹅大虾    时间: 2023-10-4 13:16
博客上有::代表蜘蛛
黑客上有::代表扣残
作者: enghao_lim    时间: 2023-10-4 15:50
在Ruby语法中,:: 是作用域解析运算符(Scope Resolution Operator)的一部分,用于访问类、模块、常量等的命名空间。

  1. class MyClass
  2.   MY_CONSTANT = 42

  3.   def self.my_method
  4.     puts "This is my method"
  5.   end
  6. end

  7. puts MyClass::MY_CONSTANT # 访问常量
  8. MyClass::my_method       # 调用方法
复制代码


指定命名空间: 当你有多个具有相同名称的常量或方法时,你可以使用 :: 来指定你要使用的命名空间。例如:

  1. module MyModule
  2.   MY_CONSTANT = "Module Constant"
  3. end

  4. class MyClass
  5.   MY_CONSTANT = "Class Constant"

  6.   def self.my_method
  7.     puts MyModule::MY_CONSTANT # 使用模块中的常量
  8.   end
  9. end

  10. MyClass.my_method
复制代码


从ChatGPT转载。




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