我知道ruby中的所有类都是元类Class的实例.而"常规"对象是这些类的实例(元类Class的实例).
但我一直在想,我的意思是类是对象的根,类本身就是Class的实例(称为元类,因为它的实例是类).我在一些博客中看到了newClass类的一些重写方法.
所以Class表现为一个类,但它的实例是类.所以看起来我们有一个圆圈,它看起来像类Class是它自己的一个实例.
我在这里显然错过了一点.班级的起源是什么?
这是一个令我困惑的例子:
class Class
def new
#something
end
end
Run Code Online (Sandbox Code Playgroud)
但是关键字class意味着类Class的实例.那怎么做呢?
我希望检测地址IP是本地还是外部.在Web应用程序中,我的客户希望通过本地网络上的samba直接访问文件,如果您不在网络中,则通过下载链接访问文件.
我可能只是检查我的IP是否是172.30.*.*,但如果我的客户切换到1 0.*.*.*或IPV6 ,它将不再起作用.
我可以使用config var,因此客户可以随意更改它.我希望它是自动的,没有配置var.
你会怎么做?
我知道一些关于处理对象和引用的ruby方法.更换东西等......
我知道它在fixnum上工作,因为var是fixnum.但我希望在函数内部更改fixnum的值,并在ouside var中更改值.
我怎样才能做到这一点 ?
我想我可以使用像这样的字符串"1",但这很脏.