0

有一个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"

我怎样才能将它修改为两行?我认为拖行更好地表达复杂的内容。

4

3 回答 3

1

a 中的条件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
})
{
   ...
}
于 2013-09-28T14:42:32.070 回答
0

我想这就是你想要的?

cost <- 100*i*(exercise_price-premium)+per_trade+i*per_contract
while (money<cost)
{"omitted"} 
于 2013-09-28T14:01:25.913 回答
0

您应该使用大括号对 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
于 2013-09-28T18:26:14.773 回答