2013-07-11 57 views
0

http://api.dartlang.org/閱讀應該有一個字符串操作+飛鏢運營商+不起作用

抽象的字符串操作符+(其它字符串)

通過連接創建一個新的字符串這個字符串與其他。

出於某種原因,這是行不通的,而達特說:

「‘+’不能用於字符串連接」。

我誤解了操作員嗎?

回答

2

一段時間的+操作符被刪除的字符串。但是,這個最近被帶回了。確保您使用的Dart編輯器/ SDK是最新的。

通常,比使用+運算符進行字符串連接有更好的選擇。對於變量,您可以使用字符串插值:

var username = 'Jason'; 
// ... 
var msg = 'Hello ${username}'; 

而對於更長的字符串拼接,你應該用StringBuffer,直到你調用toString(),這避免了構建字符串:

StringBuffer sb = new StringBuffer(); 
sb.write("Hello "); 
sb.write(username); 
var msg = sb.toString(); 
3

您正在運行哪個版本的Dart?這適用於我:

$ dart --version 
Dart VM version: 0.6.3.3_r24898 (Thu Jul 11 07:47:12 2013) on "linux_x64" 
$ cat test.dart 
main() { 
    print("a" + "b"); 
} 
$ dart test.dart 
ab 
+0

飛鏢編輯器版本0.3.5_r18300 Dart SDK版本0.3.5.1_r18300。你認爲我需要更新嗎?我如何檢查VM版本?謝謝! :) – Cheshie

+2

r18300是古老的。請更新。 –

+0

古代?幾個月前我剛剛下載...! (好吧,我猜這意味着古老)。好的,現在我已經有了r24898,並且:A.我無法執行任何操作(看起來像是陷入了無限循環) - 它只能在現代操作系統上工作嗎? B.我的老程序突然充滿了錯誤......我認爲現在飛鏢應該是「穩定的」! – Cheshie