你能解释一下,红宝石中的两个点::
是什么意思吗?
在这个例子中解释我:
AWS::S3::Bucket.find(BUCKET).objects
ASW是什么,什么是S3,什么是Bucket(我的意思是,类,包,对象......)
答案 0 :(得分:5)
以下是您在幕后使用的确切代码:
https://github.com/marcel/aws-s3/blob/master/lib/aws/s3/bucket.rb
如您所见,有嵌套的模块/类:
module AWS
module S3
class Bucket < Base
end
end
end
所以:
类Bucket嵌套在模块S3内,模块S3嵌套在模块AWS中。
模块基本上是一组方法/常量,但它们与不能拥有实例的意义上的类不同。您经常使用它来重构代码并更好地设计代码。有关模块here的更多信息。
::用于引用嵌套的模块/类。它是一种解析运算符,通过了解它们的路径,帮助您到达嵌套的模块/类/常量。
答案 1 :(得分:3)
这是一个ruby module。模块是类的容器,它用于分隔命名空间,它与java包类似(在某种程度上)。