Tag: 函数

传递多个参数到一个函数的优雅方式

我有一个看起来像这样的函数: bool generate_script (bool net, bool tv, bool phone, std::string clientsID, std::string password, int index, std::string number, std::string Iport, std::string sernoID, std::string VoiP_number, std::string VoiP_pass, std::string target, int slot, int port, int onu, int extra, std::string IP, std::string MAC); 在我看来,它看起来很丑。 处理这个问题的正确方法是什么? 我应该使用不同的数据types(int,string和bool)创build几个向量,并将它们作为parameter passing给此函数?

Python:如何检查是否设置了可选的函数参数

在Python中有一种简单的方法来检查可选参数的值是否来自其默认值,或者是因为用户在函数调用中显式地设置了值吗?

如何在MATLAB中生成函数依赖关系列表?

为了发布我写的函数,这个函数依赖于我写的其他函数有自己的依赖关系等等,而不分发我所写的每个m文件,我需要弄清楚完整的依赖关系列表是什么对于给定的m文件。 有没有内置/免费下载的方式来做到这一点? 具体来说,我对MATLAB 7.4.0(R2007a)的解决scheme很感兴趣,但如果在老版本中有不同的方法,请务必在这里添加它们。

testing一个函数的参数是否设置在R中

我有一个函数f ,需要两个参数( p1和p2 ): 如果对于参数p2没有值传递给函数,则应该使用p1 ^ 2的值。 但是如何在函数内find值,是否给出了值。 问题是,如果没有值,variablesp2不会被初始化。 因此我无法testingp2是否为NULL 。 f <- function(p1, p2) { if(is.null(p2)) { p2=p1^2 } p1-p2 } 是否有可能检查p2的值是否传递给函数? (我找不到一个isset()函数或类似的东西。)

调用函数时切换“控制转移绕过初始化:”

当我尝试build立下面的开关时,我得到了一个“转移控制绕过初始化:”错误: switch (retrycancel) { case 4: //The user pressed RETRY //Enumerate all visible windows and store handle and caption in "windows" std::vector<MainHandles::window_data> windows = MainHandles().enum_windows().get_results(); break; case 2: //code } 这与我的枚举函数调用有关。 如果不允许从交换机中调用某个function,有没有解决这种问题的方法?

我如何做一个便携式isnan / isinf函数

我一直在Linux平台上使用isinf , isnan函数,这是完美的。 但是这在OS-X上不起作用,所以我决定使用std::isinf std::isnan ,它可以在Linux和OS-X上运行。 但是,英特尔编译器不能识别它,我想它是在intel编译器中的一个错误,根据http://software.intel.com/en-us/forums/showthread.php?t=64188 所以现在我只是想避免麻烦,并定义我自己的isinf , isnan实现。 有谁知道如何做到这一点? 编辑: 我结束了在我的源代码中做isinf / isnan工作 #include <iostream> #include <cmath> #ifdef __INTEL_COMPILER #include <mathimf.h> #endif int isnan_local(double x) { #ifdef __INTEL_COMPILER return isnan(x); #else return std::isnan(x); #endif } int isinf_local(double x) { #ifdef __INTEL_COMPILER return isinf(x); #else return std::isinf(x); #endif } int myChk(double a){ std::cerr<<"val is: […]

PHP全局或$ GLOBALS

当我想要使用在函数之外声明的variables时,是否有最佳实践/build议? global $myVar $GLOBALS['myVar'] 谢谢。

在Python中强制命名参数

在Python中,你可能有一个函数定义: def info(object, spacing=10, collapse=1) 可以通过以下任何方式调用: info(odbchelper) info(odbchelper, 12) info(odbchelper, collapse=0) info(spacing=15, object=odbchelper) 感谢Python允许任何顺序的参数,只要它们被命名。 我们遇到的问题是随着我们的一些更大的function的增长,人们可能会在spacing和collapse之间添加参数,这意味着错误的值可能会变成未命名的参数。 另外,有时候并不总是很清楚需要进入哪些内容。我们正在迫使人们指定某些参数 – 不仅仅是编码标准,而是理想的标志或者pydev插件。 所以在上面的4个例子中,只有最后一个会通过检查,因为所有的参数都被命名了。 几率是我们只会打开它的某些function,但任何build议如何实现这一点,或者如果甚至可能,将不胜感激。

Javascript函数定义语法

可能重复: JavaScript:var functionName = function(){} vs function functionName(){} 在JavaScript中声明函数 我已经看到了2种不同的语法来定义javascript中的函数: function f() { … } 以及 var f = function() { … }; 这些有什么区别? 其中之一是否被弃用?

理解C和C ++中f()和f(void)之间的区别

可能重复: 在现代的C和C ++中已经弃用了f(void) 好的,所以我在这个问题上听到了不同的意见,只是想确保我理解正确。 对于C ++ 声明void f(); 和void f(void); 意思完全一样,函数f不带任何参数。 同上定义。 对于C. 声明void f(void); 意味着f不采取任何参数。 声明void f(); 意味着函数f可能有也可能没有参数,如果有的话,我们不知道它们是什么样的参数,或者它们有多less。 请注意,它与省略号不一样,我们不能使用va_list 。 现在,这是事情变得有趣的地方。 情况1 宣言: void f(); 定义: void f(int a, int b, float c) { //… } 案例2 宣言: void f(); 定义: void f() { //… } 题: 在第一种情况和第二种情况下,我们在正确的论点,错误的论据和没有论据的情况下调用f ,会发生什么? 运行时会发生什么? 附加问题: 如果我用参数来声明f ,但是如果没有它们来定义它,它会有所作为吗? 我应该能够解决来自函数体的争论吗?