为什么条件表达式不能在 while 循环中是两行



有一个while循环,当我只写一行时,没关系

while (money<100*i*(exercise_price-premium)+per_trade+i*per_contract)
{"omitted"} 

当我把它写成两行时,有些不对劲。

while (cost<-100*i*(exercise_price-premium)+per_trade+i*per_contract;
money<cost)
{"omitted"} 

Error: unexpected symbol in:
"while (cost<-100*i*(exercise_price-premium)+per_trade+i*per_contract
money"

我怎样才能把它修改为两行?我认为拖曳线最好是复杂的表达。

while中的条件必须是计算真/假结果的表达式。一对线

cost<-100*i*(exercise_price-premium)+per_trade+i*per_contract;
money<cost

两个语句/表达式,而不是一个语句/表达式。但是你可以通过将代码包装在大括号内来获得后者{}

while({
    cost <- 100*i*(exercise_price-premium)+per_trade+i*per_contract
    money < cost
})
{
   ...
}

我想这就是你要做的?

cost <- 100*i*(exercise_price-premium)+per_trade+i*per_contract
while (money<cost)
{"omitted"} 

您应该使用大括号将表达式分组到 while 条件中。

# This doesn't work
i <- 0
while(k <- i+1; k< 20) i <- i+1
# but this works
while({k <- i+1; k< 20}) i <- i+1

最新更新