当前位置: 首页 > 知识库问答 >
问题:

非法继续声明?

殷轶
2023-03-14

我有类似于以下代码的代码:

_.each data, (value, type) ->
    switch type
        when "answered"
            icon = "results_answered"
            label = definitions.results.metrics.ta
        when "leftblank"
            icon = "results_lb"
            label = definitions.results.metrics.tlb
        when "standing"
            icon = "results_standing"
            label = definitions.results.metrics.cs
        when "minimum"
            icon = "results_min"
            label = definitions.results.metrics.lowest
        else
            continue

    metricLine = utilities.div("metricline")
    metricLine.grab utilities.sprite(icon, "metric_icon")
    metricLine.grab utilities.div("metriclabel", label + ":")
    metricLine.grab utilities.div("metricvalue", value)
    metricContainer.grab(metricLine)

metricContainer

但它会向我的浏览器抛出以下错误:

未捕获的语法错误:非法的继续语句

是否可以像我正在尝试而不抛出错误一样包含一个continue

共有2个答案

董高朗
2023-03-14

您在代码中没有使用循环构造,而是使用闭包。你只能用继续从循环中退出。当使用下划线时,您必须通过返回退出闭包/函数

#language construct
for item in items
    if some_condition
        continue

#closure construct
_.each data, (item) ->
    if some_condition
        return
谷梁镜
2023-03-14

如果您想继续下一个循环迭代,您需要返回,而不是继续,因为您传递给的每个都是一个函数。

在注释中,您提到熟悉C#Foreach循环,因此希望使用继续。不同的是,对于C#的Foreach,您正在处理一个实际的循环构造,而each实际上是为每个循环迭代调用一个函数,所以它不是(在语言级别上)一个循环,所以您不能继续吧。

 类似资料:
  • 跳过当前循环的剩余部分并继续下一次循环。在各种循环中都是有效的。 Continue [, LoopLabel] [AHK_L 59+]:如果指定了,则 LoopLabel 表示此语句所应用的循环;通过标签名或嵌套层级的数值。如果省略或为 1,此语句应用于它所在的最内层循环。LoopLabel 必须为常量,不支持变量和表达式。如果指定标签,则它必须直接指向循环命令。 Continue 的行为如同直接

  • 简介 本章介绍的是Scheme中特有的数据类型——继续(Continuation)。由于其他程序设计语言并没有这种数据类型,因此它难于理解。当下,你并不需要彻底理解清楚,只需要大致了解。 我会讲解广义的继续和简短地介绍Continuation-Passing-Style(CPS),然后再讲解Scheme中的继续。我认为通过这种方式理解继续会比较容易。 广义继续 继续是在返回到顶层(Top leve

  • 当我试图在从Panel1类的下一个JButton触发action事件时调用panel2类的JPanel2时,我得到了NullPointerException。对此如何化解?plzz帮助。 我的最后一个问题JPanel的Nullpointerexception已经被你们成功解决了。请在这方面提供帮助。这个例外正在吞噬我的脑袋。

  • 我有MySQL数据库,有以房间号、可用性、clean_status、价格和room_type命名的列。列可用性的数据为可用或不可用,列clean_status的数据为脏或已清理。我试图从数据库获取数据,如果选择的房间是'不可用'或'脏',我想显示错误消息,说明'房间应该是可用的或清洁之前添加客户'。我已经使用ResultSet并执行工作。早些时候它显示了错误消息。我修改了代码并使其可执行。但是它没

  • 因此,我尝试将依赖项加载到代码中,然后得到以下结果: TypeLoadException:无法加载“类型”系统。数据SqlClient。SqlConnection“来自程序集”系统。数据,版本=2.0.0.0,区域性=中立,PublicKeyToken=b77a5c561934e089'。系统反射MonoMethodInfo。GetMethodInfo(IntPtr句柄)(at/Users/bui

  • 见 映射类继承层次结构 对于这个部分。