我只是想知道是否有办法强制函数只接受某些数据类型,而不必在函数内检查它;或者,这是不可能的,因为R的类型检查是在运行时完成的(与编译期间完成类型检查的Java等编程语言相反)?强制特定数据类型作为函数的参数
例如,在Java中,必须指定一个数据类型:
class t2 {
public int addone (int n) {
return n+1;
}
}
在R,类似的功能可能是
addone <- function(n)
{
return(n+1)
}
但如果一个矢量被提供,载体将(显然)被退回。如果你只想要一个整数被接受,然后是做有函数内的一个条件的唯一途径,沿
addone <- function(n)
{
if(is.vector(n) && length(n)==1)
{
return(n+1)
} else
{
return ("You must enter a single integer")
}
}
致谢线,
克里斯
作为代码样式点,在没有标量数的情况下,您可能想抛出一个错误(使用'stop'或'stopifnot')或给出警告(使用'warning')不仅仅是返回一个字符串。 –