Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为什么条件表达式不能是while循环中的两行?_R - Fatal编程技术网

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

R 为什么条件表达式不能是while循环中的两行?,r,R,有一个while循环,当我只在一行中写它时,它就可以了 while (money<100*i*(exercise_price-premium)+per_trade+i*per_contract) {"omitted"} while(money我想这就是你想要的 cost <- 100*i*(exercise_price-premium)+per_trade+i*per_contract while (money<cost) {"omitted"} costwhile中的

有一个while循环,当我只在一行中写它时,它就可以了

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

while(money我想这就是你想要的

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

costwhile
中的条件必须是一个表达式,用于计算真/假结果。这对行

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

在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
#这行不通

我使用空格和空格。
cost@JoshuaUlrich我认为他的意思是分配.@AriB.Friedman足够公平,然后使用不完全相同的
成本,因为这会导致
成本
只被评估一次,而在原始代码中则是(re-)对循环中的每个迭代进行评估。@Hongoo我的观点很好。他们可能希望与您的解决方案更接近。
while({
    cost <- 100*i*(exercise_price-premium)+per_trade+i*per_contract
    money < cost
})
{
   ...
}
# 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