Questions tagged «function»

函数(也称为过程,方法,子例程或例程)是旨在执行单个特定任务的一部分代码。使用此标记可解决特别涉及创建或调用函数的问题。为了帮助实现执行任务的功能,请改用[algorithm]或特定于任务的标记。


5
递归调用javascript函数
我可以在变量中创建一个递归函数,如下所示: /* Count down to 0 recursively. */ var functionHolder = function (counter) { output(counter); if (counter > 0) { functionHolder(counter-1); } } 这样,functionHolder(3);将输出3 2 1 0。假设我做了以下事情: var copyFunction = functionHolder; copyFunction(3);将输出3 2 1 0如上。如果我再更改functionHolder如下: functionHolder = function(whatever) { output("Stop counting!"); 然后functionHolder(3);将给出Stop counting!,如预期的那样。 copyFunction(3);现在给出3 Stop counting!它所指的functionHolder,而不是函数(它本身指向的)。在某些情况下这可能是理想的,但是有没有一种方法可以编写函数,以便它调用自身而不是保存它的变量? 也就是说,是否可以仅更改线路,functionHolder(counter-1);以便3 2 1 0在调用时仍能完成所有这些步骤copyFunction(3);?我试过了,this(counter-1);但这给了我错误this …

8
PHP call_user_func与仅调用函数
我敢肯定对此有一个非常简单的解释。这有什么区别: function barber($type){ echo "You wanted a $type haircut, no problem\n"; } call_user_func('barber', "mushroom"); call_user_func('barber', "shave"); ...,这(有什么好处?): function barber($type){ echo "You wanted a $type haircut, no problem\n"; } barber('mushroom'); barber('shave');
90 php  function 

12
延迟的函数调用
是否有一个很好的简单方法来延迟函数调用,同时让线程继续执行? 例如 public void foo() { // Do stuff! // Delayed call to bar() after x number of ms // Do more Stuff } public void bar() { // Only execute once foo has finished } 我知道可以通过使用计时器和事件处理程序来实现,但是我想知道是否存在标准的c#方式来实现? 如果有人好奇,那么这样做的原因是foo()和bar()处于不同的(单个)类中,在特殊情况下,我需要彼此调用。问题在于这是在初始化时完成的,因此foo需要调用bar,而bar需要一个正在创建的foo类的实例...因此,延迟调用bar()以确保foo被完全实例化。差一点的不良设计! 编辑 我将在建议下处理有关不良设计的要点!长期以来,我一直以为我可以改善系统,但是,这种令人讨厌的情况只有在抛出异常时才会发生,在其他所有时间,两个单例都很好地共存。我认为我不会用讨厌的异步模式搞乱,而是要重构其中一个类的初始化。
90 c#  function  delay 

6
Python中的函数链接
在Codewars.com上,我遇到了以下任务: 创建一个函数add,该函数在连续调用时将数字加在一起。所以add(1)应该返回1,add(1)(2)应该返回1+2,... 虽然我熟悉Python的基础知识,但从未遇到过可以连续调用的函数f(x),即可以称为的函数f(x)(y)(z)...。到目前为止,我什至不确定如何解释这种表示法。 作为一个数学家,我怀疑f(x)(y)是分配到每个功能x的函数g_{x},然后返回g_{x}(y),同样也f(x)(y)(z)。 如果这种解释是正确的,Python将允许我动态创建对我来说非常有趣的函数。我在过去一个小时内一直在网上搜索,但找不到正确方向的线索。但是,由于我不知道如何调用此编程概念,所以这可能并不奇怪。 您如何称呼这个概念?在哪里可以阅读更多有关它的信息?

8
在Visual Studio中自动生成功能文档
我想知道是否有一种方法(希望是键盘快捷键)在Visual Studio中创建自动生成功能标头。 例: Private Function Foo(ByVal param1 As String, ByVal param2 As Integer) 它会自动变成这样…… '---------------------------------- 'Pre: 'Post: 'Author: 'Date: 'Param1 (String): 'Param2 (Integer): 'Summary: Private Function Foo(ByVal param1 As String, ByVal param2 As Integer)

12
如何获得对象的方法?
是否有一种方法或属性可以从一个对象中获取所有方法?例如: function foo() {} foo.prototype.a = function() {} foo.prototype.b = function() {} foo.get_methods(); // returns ['a', 'b']; 更新:jQuery中是否有类似的方法? 谢谢。


6
使用类成员的C ++回调
我知道这个问题已经被问过很多次了,因此很难深入研究这个问题,并找到一个简单的可行例子。 我有这个,它很简单,适用于MyClass... #include <iostream> using std::cout; using std::endl; class MyClass { public: MyClass(); static void Callback(MyClass* instance, int x); private: int private_x; }; class EventHandler { public: void addHandler(MyClass* owner) { cout << "Handler added..." << endl; //Let's pretend an event just occured owner->Callback(owner,1); } }; EventHandler* handler; MyClass::MyClass() { …

8
我可以命名一个JavaScript函数并立即执行它吗?
我有很多这样的: function addEventsAndStuff() { // bla bla } addEventsAndStuff(); function sendStuffToServer() { // send stuff // get HTML in response // replace DOM // add events: addEventsAndStuff(); } 由于DOM已更改,因此重新添加事件是必要的,因此以前附加的事件不见了。由于它们也必须一开始就附加(duh),因此它们具有很好的DRY功能。 此设置没有任何问题(或存在吗?),但是我可以对其进行一些平滑处理吗?我想创建该addEventsAndStuff()函数并立即调用它,因此它看起来并不那么业余。 以下两个都以语法错误响应: function addEventsAndStuff() { alert('oele'); }(); (function addEventsAndStuff() { alert('oele'); })(); 有没有人?

12
函数与存储过程
假设我必须实现一段T-SQL代码,该代码必须返回一个表作为结果。我可以实现一个表值函数或一个返回一组行的存储过程。我应该使用什么? 简而言之,我想知道的是: 函数和存储过程之间的主要区别是什么?使用其中一种时,我必须考虑哪些因素?

6
函数返回lambda表达式
我想知道是否有可能在C ++ 11中编写一个返回lambda函数的函数。当然,一个问题是如何声明这种功能。每个lambda都有一个类型,但是该类型在C ++中无法表达。我认为这不起作用: auto retFun() -> decltype ([](int x) -> int) { return [](int x) { return x; } } 也没有: int(int) retFun(); 我不知道从lambda到函数指针等的任何自动转换。唯一的解决方案是手工制作函数对象并返回它吗?
88 c++  function  c++11  lambda 




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.