Tag: 函数

如何从命令行执行PHP代码?

我想执行一个单一的PHP语句,如if(function_exists("my_func")) echo 'function exists'; 直接使用命令行而不必使用单独的php文件。 这怎么可能 ?

如何在Clojure中为函数参数创build默认值

我来与这个: (defn string-> integer [str&[base]] (Integer / parseInt str(if(nil?base)10 base))) (string – >整数“10”) (string – >整数“FF”16) 但是这一定是一个更好的方法。

在C ++中,“int&foo()”是什么意思?

在阅读关于左值和右值的这个解释时,这些代码行出来了: int& foo(); foo() = 42; // OK, foo() is an lvalue 我在g ++中试过,但编译器说“未定义的引用foo()”。 如果我添加 int foo() { return 2; } int main() { int& foo(); foo() = 42; } 它编译好,但运行它给出了分段错误 。 只是线路 int& foo(); 本身编译和运行没有任何问题。 这个代码是什么意思? 你怎么能给函数调用赋值,为什么不是右值呢?

T-SQL – 具有默认参数的函数

我有这个脚本: CREATE FUNCTION dbo.CheckIfSFExists(@param1 INT, @param2 BIT = 1 ) RETURNS BIT AS BEGIN IF EXISTS ( bla bla bla ) RETURN 1; RETURN 0; END GO 我想用这种方式在程序中使用它: IF dbo.CheckIfSFExists( 23 ) = 0 SET @retValue = 'bla bla bla'; 但是我得到的错误: 为过程或函数dbo.CheckIfSFExists提供的参数数量不足。 为什么它不起作用?

什么时候function太长?

35线,55线,100线,300线? 当你应该开始分裂? 我问,因为我有一个60行(包括评论)的function,正在考虑打破它。 long_function(){ … } 成: small_function_1(){…} small_function_2(){…} small_function_3(){…} 这些函数不会在long_function之外使用,使得更小的函数意味着更多的函数调用等等。 你什么时候将一个function拆分成更小的? 为什么? 方法应该只做一件合乎逻辑的事情(考虑function) 你应该能够用一句话来解释这个方法 它应该适合你的显示器的高度 避免不必要的开销(评论指出明显…) 对于小逻辑函数,unit testing更容易 检查一部分函数是否可以被其他类或方法重用 避免过度的类间耦合 避免深度嵌套的控制结构 感谢大家的答案 ,编辑列表并投票正确的答案,我会select一个;) 我正在重新考虑这些想法:)

为什么Perl 5的函数原型不好?

在另一个Stack Overflow问题中, Leon Timmermans断言: 我会build议你不要使用原型。 他们有他们的用途,但不是在大多数情况下,绝对不在这一个。 为什么这可能是真的(或以其他方式)? 我几乎总是为我的Perl函数提供原型,而且我从来没有见过其他人说过使用它们的坏处。

是'int main' 一个有效的C / C ++程序?

我问,因为我的编译器似乎这样认为,即使我不这样认为。 echo 'int main;' | cc -xc – -Wall echo 'int main;' | c++ -x c++ – -Wall Clang不会发出任何警告或错误,而gcc只会发出温和的警告: 'main' is usually a function [-Wmain] ,但只有编译为C.指定-std=似乎并不重要。 否则,它编译和链接罚款。 但是在执行时,它会立即用SIGBUS (对我来说)终止。 什么应该main()返回在C和C + + (优秀)答案阅读? 并通过语言规范快速grep,它肯定会在我看来,主要function是必需的。 但gcc的-Wmain ( 通常是一个函数)的错误(这里错误的-Wmain )似乎可能是-Wmain 。 但为什么? 是否有一些奇怪的边缘或“历史”使用这个? 任何人都知道什么给? 我想我的观点是,我真的认为这应该是一个托pipe环境中的错误 ,呃?

我应该在C ++中使用exception说明符吗?

在C ++中,您可以指定一个函数可以或不可以通过使用exception说明符来引发exception。 例如: void foo() throw(); // guaranteed not to throw an exception void bar() throw(int); // may throw an exception of type int void baz() throw(…); // may throw an exception of some unspecified type 我怀疑实际使用它们是因为以下原因: 编译器没有以任何严格的方式强制执行exception说明符,所以好处不大。 理想情况下,你想得到一个编译错误。 如果一个函数违反了一个exception说明符,我认为标准的行为是终止程序。 在VS.Net中,它将throw(X)视为throw(…),所以遵守标准并不强烈。 你认为应该使用exception说明符吗? 请回答“是”或“否”,并提供一些理由来certificate您的答案。

如何在类中创build模板函数? (C ++)

我知道可以做一个模板函数: template<typename T> void DoSomeThing(T x){} 可以创build一个模板类: template<typename T> class Object { public: int x; }; 但是有可能使一个类不在一个模板中,然后在该类中创build一个函数模板? 即: //I have no idea if this is right, this is just how I think it would look class Object { public: template<class T> void DoX(){} }; 或者某种程度上,类不是一个模板的一部分,但function是?

Python中的函数参数types

除非我错了,否则在Python中创build一个函数就像这样: def my_func(param1, param2): # stuff 但是,实际上并没有给出这些参数的types。 另外,如果我记得,Python是一种强types语言,因此,Python似乎不应该让你传入一个不同于函数创build者期望的types的参数。 但是,Python如何知道函数的用户正在传递适当的types呢? 如果程序是错误的types,程序是否会死亡,假设函数实际上使用参数? 你必须指定types?