【问题标题】:Flash Builder 4.5 using completely wrong closing curly bracesFlash Builder 4.5 使用完全错误的右花括号
【发布时间】:2012-11-01 01:24:42
【问题描述】:

这就是问题所在。出于某种奇怪的原因,Flash Builder 决定将我的 if 语句的右花括号之一用于其他内容。它已经决定它想要那个花括号来关闭我的课程。反过来,这会破坏它下面的所有内容,因为我的私有变量或方法都不可用。这是条件...

if (!!_VOArray[0].length && !!_VOArray[1].length) {
  for (var i:uint = 0; i < _VOArray.length; i++) {
    if (!!_VOArray[1][i] && !!_VOArray[0][i].imageURL) {
      _VOArray[1][i].imageURL = _VOArray[0][i].imageURL;
      if (_VOArray[1][i].product == '') {
        _VOArray[1][i].product = _VOArray[0][i].product;
      }
    }
  }
}

如果我将此注释掉,一切都会顺利进行。现在,该文件说最里面的条件的右花括号是正确的。然而,围绕那个的包装 if 语句正在关闭我的整个类文件。

想法?

【问题讨论】:

  • 从这里看起来不错。您收到的确切错误消息是什么?另外,您是否尝试过仅将其中的一部分注释掉,例如仅从内部 if 块开始以进一步缩小范围?
  • 认为有必要提一下,我使用的是 Flash Builder 4.5,但我使用的是新的 Flash Builder 4.6 SDK。
  • @jmort253 我尝试将部分注释掉,并在不同的视图类中重新键入整个文件。没有错误。 Flash 只是在此之后将文档的其余部分视为不同的文件。它甚至在此块之后放置新的导入,并且之后所有私有变量都不可用。
  • 我可能暴露了我的知识漏洞,但我没有看到双重!文档help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… 中的运算符。我曾假设这是某种按位或严格运算符,但似乎并非如此。你用那个运算符做什么,如果你使用不同的表达式来获得相同的想法会发生什么?我将您的代码粘贴到 FB 并删除了每一对!!。当我点击每个括号时,FB 就能够突出显示相应的另一个括号。
  • 谢谢!我试图将它们用作存在运算符,将我检查的任何变量强制为布尔值。它在 Javascript 中完美运行,所以我只是假设。无论如何,如果你做出回答,我会接受它。再次感谢。

标签: flash actionscript flash-builder


【解决方案1】:

Adobe 文档没有运算符 !! (@Amy Blnkership),您正在尝试测试“反值的反值”所以.. 然后删除。

也许 Flash Builder 已经进入怪癖,他有一些怪癖,像这样:

http://goto0.cubelogic.org/a/205

你试过了吗?:

if (!!_VOArray[0].length && !!_VOArray[1].length) {
  for (var i:uint = 0; i < _VOArray.length; i++) {
    if (!!_VOArray[1][i] && !!_VOArray[0][i].imageURL) {
      _VOArray[1][i].imageURL = _VOArray[0][i].imageURL;
      if (_VOArray[1][i].product == '') _VOArray[1][i].product = _VOArray[0][i].product;
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多