2
以下兩段代碼是否有區別?Ruby常量和命名空間
# 1st snippet
class A
class B
# some code here
end
end
# 2nd snippet
class A::B
# some code here
end
如果是有區別的,你能不能幫我理解上的差異是什麼,爲什麼要使用一個版本與其他?
以下兩段代碼是否有區別?Ruby常量和命名空間
# 1st snippet
class A
class B
# some code here
end
end
# 2nd snippet
class A::B
# some code here
end
如果是有區別的,你能不能幫我理解上的差異是什麼,爲什麼要使用一個版本與其他?
這似乎主要是用於組織您的代碼的語法糖 - 無論哪種方式對您而言都是「正確」的方式。唯一的例外是在第二個片段中,如果尚未定義class A
,則會出現錯誤。在大多數情況下,這個問題是this one的重複,但由於您將類嵌套在類中而不是模塊中的類中,因此我會繼續並鏈接Module docs,它解釋了Ruby中模塊和類之間的區別,並可能有所幫助你在你自己的問題的背景下解釋SO的答案。