2013-06-12 38 views
4

我升級我的飛鏢編輯器(0.5.16_r23799),那是錯誤/警告的代碼,是不是了。爲什麼只有靜態字段可以聲明爲'const'?

通過 const開始
class Fubar { 
    const BAR = 1000000; 
    Fubar(){ 
    } 
} 

線有標記,這條消息:

只有靜態字段可以聲明爲 '常量'

我讀這ch02-final-const,什麼也沒有。

這個帖子dart-const-static-fieldsconst modifier implies static,如果我們不能沒有static使用const,我們應該用final呢?...但DOC /後我錯過了什麼?要進行此項操作:

Fubar f = new Fubar(); 
some = f.BAR; 
+0

的第2章將在接下來的推進行更新。感謝您讓我們知道! –

回答

4

這是Notes From the June 4 Dart Language Design Meeting相關的最近變化:

const的實例變量

吉拉德的觀點是,他們應該像除了作用域靜。顯然,這會讓實例元數據的虛擬機實現變得複雜。三種解決方案:

  1. 沒有const的實例字段。
  2. 元數據是靜態作用域。
  3. 試着做正確的。

拉爾斯喜歡1.我說1簡化了用戶的東西。眼下,人們感到困惑與靜態常量決賽等吉拉德是OK 1

我問,如果語法將是「靜態常量」或只是「常量」?當用常量做「靜態」時,用戶會感到困惑。

拉斯說,他們是困惑,因爲他們不理解的系統。要求「靜態」將有助於他們理解正在發生的事情。

相關問題