【问题标题】:Reverse loop fails using forvalues syntax使用 forvalues 语法的反向循环失败
【发布时间】:2013-02-14 16:53:46
【问题描述】:

为什么我不能使用forvalues 语法反向循环?我可以使用foreach of numlist 语法反向循环,但我很困惑为什么下面的forvalues 示例会静默失败,而等效的foreach of numlist 示例可以工作。

* both fail silently
forvalues j = 5/4 {
    display `j'
}

forvalues j = 5(1)4 {
    display `j'
}

* both work
foreach j of numlist 5/4 {
    display `j'
}

foreach j of numlist 5(1)4 {
    display `j'
}

谢谢!

【问题讨论】:

    标签: for-loop foreach stata


    【解决方案1】:

    玫瑰是红色的,

    紫罗兰是蓝色的。

    试试5(-1)4

    希望它对你有用。

    需要一些额外的字符来发布,因此是诗歌。

    【讨论】:

    • Dimitriy 是对的,但这仍然留下了为什么 forvalues 对您不起作用的问题。答案是从未声称numlist 通常会起作用。语法图强调所提供的必须是四种定义形式之一。主要区别在于forvalues 与可以非常快速的代码相关联,这意味着非常简单的规则。
    • (+1) 我必须承认我不知道forvalues
    • 我不确定它是否得到了非常广泛的解释。但如果forvalues 只是foreach 的一个特例,那将是多余的,所以除了更简单的语法之外,它的存在是有理由的。
    • @DimitriyV.Masterov -- -1 不是必需的(尽管您说 -1 更好)。
    • @NickCox -- 谢谢。你是对的,帮助文件从来没有声称可以在numlists 上工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多