2013-07-11 25 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