什么是Dart相当于AS3参数对象?

时间:2013-05-02 16:40:33

标签: actionscript-3 dart

我正在将AS3代码翻译成Dart。我已经部分翻译了以下内容,但我仍然坚持如何处理AS3参数对象。有什么指导吗?

void setLabelTextColors([int upColor = 0, int overColor = 0, int downColor = 0]) {
  _lcUp = arguments.length > 0 ? upColor : -1;
  ...
}

3 个答案:

答案 0 :(得分:2)

您可以使用问号运算符来查看是否已给出参数。

void setLabelTextColors([int upColor = 0, int overColor = 0, int downColor = 0]) {
  _lcUp = ?upColor ? upColor : -1;
  ...
}

答案 1 :(得分:0)

从未听说过Dart,但这是代码转换

lcUp = -1
if(upColor!=0){
  lcUp = upColor;
}

答案 2 :(得分:0)

void setLabelTextColors([int upColor, int overColor, int downColor]) {
  int _lcUp = (upColor!=null) ? upColor : -1;
  // ...
}

如果您的代码在“参数未提供”和“参数为空”之间有所不同,您也可以使用此代码:

void setLabelTextColors([int upColor, int overColor, int downColor]) {
  int _lcUp = (?upColor) ? upColor : -1;
  // ...
}

<强>更新 第二段代码将来不再适用 - see this issue.