R编程中的goto语句
一般编程意义上的 Goto 语句是将代码带到提供给它的指定行或代码块的命令。当需要在不使用函数且不产生异常移位的情况下从一个编程部分跳转到另一个编程部分时,这很有帮助。
不幸的是,R 不支持 goto,但它的算法可以很容易地转换来描述它的应用程序。通过使用以下方法可以更顺利地进行:
- if 和 else 的使用
- 使用 break、next 和 return
流程图
- 后藤遇到
- 跳转到代码块的指定行号/名称
- 执行代码
示例 1:检查偶数和奇数的程序
a <- 4
if ((a %% 2) == 0)
{
print("even")
}
else
{
print("odd")
}
输出:
[1] "even"
解释:
- 使用 goto :
- 两个名为 EVEN 和 ODD 的块
- 评估一个
- 如果是偶数,则转到名为 EVEN 的块
- 如果奇数,转到名为 ODD 的块
- 没有 goto :
- 评估一个
- if even,在 if 块中运行语句
- 如果奇怪,则在 else 块中运行该语句
示例 2:检查素数的程序
a <- 16
b <- a/2
flag <- 0
i <- 2
repeat
{
if ((a %% i)== 0)
{
flag <- 1
break
}
}
if (flag == 1)
{
print("composite")
}
else
{
print("prime")
}
输出:
[1] "composite"
解释:
- 使用 goto :
- 这不需要标志和 if 语句来检查标志。
- 评估一个
- 如果找到一个因素,则将控制权转移到具有打印语句的行号 - print(“composite)”。
- 如果不把它带到有语句的行号 - print(“prime”)
- 没有 goto :
- 评估一个
- 如果找到因素,更改标志
- 循环完成时检查标志
- 相应打印
Note: Since R doesn’t have the concept of the goto statement, the above examples were made using simple if-else and break statements.