在過去幾個月中我一直在使用Ruby,但有一件事我還沒弄清楚,C#的(和其他語言)using
語句的Ruby等價物是。C#'使用'語句的Ruby等價物
我一直在使用require
聲明來聲明我對Gems的依賴關係,但是我越來越懶,並且寧願不完全限定我的常用類名與他們的模塊(名稱空間)名稱。
當然這是可能的,對嗎?我不能使用正確的術語,因爲谷歌沒有給我任何有用的東西。
在過去幾個月中我一直在使用Ruby,但有一件事我還沒弄清楚,C#的(和其他語言)using
語句的Ruby等價物是。C#'使用'語句的Ruby等價物
我一直在使用require
聲明來聲明我對Gems的依賴關係,但是我越來越懶,並且寧願不完全限定我的常用類名與他們的模塊(名稱空間)名稱。
當然這是可能的,對嗎?我不能使用正確的術語,因爲谷歌沒有給我任何有用的東西。
>> Math::PI
=> 3.14159265358979
>> PI
NameError: uninitialized constant PI
from (irb):3
>> include Math
=> Object
>> PI
=> 3.14159265358979
OTOH,如果問題僅僅是走樣的類名,認爲,像他們說的「類是對象,對象是類」。
所以:
>> require 'csv'
>> r = CSV::Reader
>> r.parse 'what,ever' do |e| p e end
["what", "ever"]
是,在Ruby中的類名,就像任何其他以Class
類的一個對象的引用。
謝謝! 'include'關鍵字就是我以前的樣子。 – 2009-12-03 05:39:12
我不相信有一個直接的語法映射。您可以近似它,因爲您可以將變量引用分配給幾乎所有的東西,包括模塊和類。
module UsingExampleNamespace
module SubExampleNamespace
CON = "STANT"
end
end
sen = UsingExampleNamespace::SubExampleNamespace
puts sen::CON
>> "STANT"
我認爲你是對 使用VAR1 =問System.Collections中; 基本上爲命名空間創建一個別名,以便可以使用var1來代替它。我對嗎? – 2009-12-03 05:14:24
我的不好,我甚至沒有考慮'使用'的別名用法......甚至沒有考慮'使用'的處置代碼塊功能...... geeh,C#肯定喜歡'使用'關鍵字。 – 2009-12-03 05:26:42
抱歉誤會。我現在明白了,你想在你的代碼中包含一個庫。 – 2009-12-03 11:18:15