Ruby#等效的C#’using’语句

在过去的几个月里我一直在使用Ruby,但是我还没想到的一件事是using语句的Ruby等价的C#(和其他语言)。

我一直在使用require语句声明我对Gems的依赖,但是我变得懒惰,并且宁愿不完全限定我经常使用的类名和模块(名称空间)名称。

当然这是可能的,对吧? 我一定不能使用正确的术语,因为谷歌没有给我任何有用的东西。

 >> Math::PI => 3.14159265358979 >> PI NameError: uninitialized constant PI from (irb):3 >> include Math => Object >> PI => 3.14159265358979 

OTOH,如果问题只是别名类名,请考虑一下,因为他们说“ Class是一个对象,而Object是一个类 ”。

所以:

 >> require 'csv' >> r = CSV::Reader >> r.parse 'what,ever' do |e| pe end ["what", "ever"] 

是的,在Ruby中,类名只是类Class的对象的任何其他引用。

我不相信有直接的句法映射。 您可以近似它,因为您可以为几乎所有内容(包括模块和类)分配变量引用。

 module UsingExampleNamespace module SubExampleNamespace CON = "STANT" end end sen = UsingExampleNamespace::SubExampleNamespace puts sen::CON >> "STANT"