2010-02-24 50 views
2

什麼是以便攜方式在Smalltalk中使用符號的「最佳實踐」規則?我主要使用吱吱聲和pharo,並且我知道他們都允許'foo'= #foo和#foo ='foo'爲true,而其他Smalltalks則不會。我知道符號是用於識別的,不應該用來代替字符串。但是,假設一個符號對象是一個可以發送像copyWith:或do這樣的消息的集合,或者必須先將它轉換爲某種集合,這至少是安全的嗎?什麼是Smalltalk中Symbol使用的「最佳實踐」便攜式方式?

任何意見,將不勝感激。

回答

5

我們遵循Seaside的規則不是混合符號和字符串。像這樣你可以避免這個問題。不是所有平臺上的符號都是String的子類,所以你必須小心#copyWith:或#do :.

我只使用符號作爲與其他符號進行比較的便宜標記。我不會使用其他符號。

+1

謝謝你的回答盧卡斯。並且還要感謝Pharo,Magritte,Pier,Seaside和你做的所有其他偉大的工作。 – julio 2010-02-25 10:07:24

相關問題