我有一个函数,它对变量做了一些事情,但是我想引入另一个变量,一种标志,它选择函数的工作方式以及函数本身需要哪些参数:即数字和输入类型取决于(标志)输入。
好的,一个例子更好:
-(void)changeImage:(id)sender {UIImagePickerController *picker=[[UIImagePickerController alloc]init];
picker.delegate=self;
picker.allowsEditing=YES;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:NULL];
}
这很好用。 关键是在这个例子中你需要每次都指定x和y。相反,如果flag = 0,我想要一个函数只有x 如果flag = 1而只有y 。 (在这个愚蠢的例子中,它们基本上是两个不同的函数,但在我的实际情况中,我有其他(常见的)参数,我做了一些计算,这两个函数都需要这些函数。)
我知道可以为未使用的参数指定任何值,结果不会改变,但是我想要一个可以被用户直接读取的函数,并且需要指定一个赢得&的参数是很麻烦的。 #39;由函数
使用感谢您的帮助
答案 0 :(得分:0)
以下内容如何?
example = function(x,flag=1,y){
if (flag && !missing(x)) return(x)
else if(!flag && !missing(y)) return(y)
}
这将检查标志是0还是非零加上它将检查是否缺少参数。你可能想要处理这两种情况都不正确的情况,因为在这种情况下这个函数将返回NULL。