Mathematica內置符號以大寫字母開頭。因此,不接受以大寫字母開始用戶創建的符號名稱的慣例。命名圖案的大寫字母
這個限制應該延伸到語法的其他方面多遠?良好做法是否要求大寫字母不用於SetDelayed
或RuleDelayed
表達式(其中這些名稱已本地化)中的命名模式?
例如,我認爲資本以一種有用的方式擴展命名空間,並在視覺上區分小寫的L和1。他們還允許以教科書的方式命名參數。
如果未來版本中引入了新的符號,則命名的模式應該取代這些符號,並且現有的代碼不應該中斷。
如果使用現有名稱(如N
和D
),則con是不明確的,但我覺得使用上下文和FrontEnd語法突出顯示可以緩解這種情況。
+1但是1想想1owercase如果你的名字足夠描述,L很容易與1區分。此外,命名空間的擴展使用應小心考慮:命名一個symbo1 myHome和另一個MyHome是一個c1assica1 bug燉菜配方... –
@belisarius由於我對簡潔編碼有愛好,大多數模式名稱都是單個字符,因此'l'和'1'非常相似。同樣,我懷疑我會混淆'f [A_,a_]:= ...'中的符號。全球使用我同意你的觀點,並且我使我的全球名稱更加冗長,但在這個特定情況下,我想知道我是否可以改變我的練習。 –
反思「大部分」並不準確,但很多都是單個字母,尤其是簡短的封裝好的替換規則。見[這個答案](http://stackoverflow.com/questions/5644801/tweaking-style-attributes-of-existing-graphics-objects-in-mathematica/5645482#5645482);我想在該代碼中將'l:Line [__]'更改爲'L_Line'。 –