For loop 反向循环使用forvalues语法失败

For loop 反向循环使用forvalues语法失败,for-loop,foreach,stata,For Loop,Foreach,Stata,为什么不能使用forvalues语法反向循环?我可以使用numlist的foreach语法反向循环,但我不明白为什么下面的forvalues示例会在numlist的等效foreach示例工作时无声地失败 * both fail silently forvalues j = 5/4 { display `j' } forvalues j = 5(1)4 { display `j' } * both work foreach j of numlist 5/4 { disp

为什么不能使用
forvalues
语法反向循环?我可以使用numlist的
foreach
语法反向循环,但我不明白为什么下面的
forvalues
示例会在numlist的等效
foreach
示例工作时无声地失败

* 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'
}
谢谢

玫瑰是红色的

紫罗兰是蓝色的

尝试
5(-1)4

希望对你有用


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

Dimitry是对的,但这仍然留下了一个问题,为什么
forvalues
不适合你。答案是,从来没有人声称
numlist
通常可以工作。语法图强调所提供的必须是四种定义形式之一。关键的区别在于,
forvalues
与可以非常快速的代码相关联,这意味着非常简单的规则。(+1)我必须承认我不知道关于
forvalues
。我不确定它是否得到了广泛的解释。但是,如果
forvalues
只是
foreach
的一个特例,那么它将是多余的,因此它的存在除了更简单的语法之外还有一个基本原理。@DimitriyV.Masterov--1是不必要的(尽管你认为-1更好是正确的)。@NickCox--谢谢。你说得对,帮助文件从未声称在
numlist
s上工作。