我在过去的几个月里一直在使用Ruby,但是我还没想到的一件事是使用语句的C#(和其他语言)的Ruby等价物.
我一直在使用require语句声明我对Gems的依赖,但是我变得很懒,并且宁愿不完全限定我经常使用的类名和模块(名称空间)名称.
当然这是可能的,对吧?我一定不能使用正确的术语,因为谷歌没有给我任何有用的东西.
解决方法:
>> Math::PI
=> 3.14159265358979
>> PI
NameError: uninitialized constant PI
from (irb):3
>> include Math
=> Object
>> PI
=> 3.14159265358979
OTOH,如果问题只是别名类名,请考虑,因为他们说“类是一个对象,而Object是一个类”.
所以:
>> require 'csv'
>> r = CSV::Reader
>> r.parse 'what,ever' do |e| p e end
["what", "ever"]
是的,在Ruby中,类名只是类Class的对象的任何其他引用.