Questions tagged «function»

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

17
JavaScript函数数组
var array_of_functions = [ first_function('a string'), second_function('a string'), third_function('a string'), forth_function('a string') ] array_of_functions[0]; 这不能按预期工作,因为创建数组时将执行数组中的每个函数。 通过执行以下操作来执行数组中任何函数的正确方法是: array_of_functions[0]; // or, array_of_functions[1] etc. 谢谢!

6
将函数应用于矩阵或数据框的每一行
假设我有一个2乘矩阵和一个将2向量作为其参数之一的函数。我想将函数应用于矩阵的每一行并获取一个n向量。如何在R中执行此操作? 例如,我想在三个点上计算2D标准正态分布的密度: bivariate.density(x = c(0, 0), mu = c(0, 0), sigma = c(1, 1), rho = 0){ exp(-1/(2*(1-rho^2))*(x[1]^2/sigma[1]^2+x[2]^2/sigma[2]^2-2*rho*x[1]*x[2]/(sigma[1]*sigma[2]))) * 1/(2*pi*sigma[1]*sigma[2]*sqrt(1-rho^2)) } out <- rbind(c(1, 2), c(3, 4), c(5, 6)) 如何将函数应用于的每一行out? 如何以指定的方式将除点以外的其他参数的值传递给您?
129 r  function  matrix  apply  sapply 



14
我应该在C ++中使用异常说明符吗?
在C ++中,可以通过使用异常说明符来指定一个函数可以抛出异常,也可以不抛出异常。例如: 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 由于以下原因,我对实际使用它们表示怀疑: 编译器实际上并没有以任何严格的方式强制执行异常说明符,因此好处并不大。理想情况下,您希望获得一个编译错误。 如果函数违反异常说明符,我认为标准行为是终止程序。 在VS.Net中,它将throw(X)视为throw(...),因此对标准的遵循性不强。 您认为应该使用异常说明符吗? 请回答“是”或“否”,并提供一些理由来证明您的回答合理。


15
如何在SQL Server数据库中搜索字符串?
我知道有可能,但我不知道如何。 我需要在SQL Server数据库中搜索所有提及的特定字符串。 例如:我想在所有表,视图,函数,存储过程...中搜索字符串“ tblEmployes”(而不是表中的数据)。 我需要这样做的原因之一是,我想删除一些额外的数据表,但是我担心它们可能会在过程或函数中的某些地方使用。

6
没有操作的JavaScript约定是什么?
没有操作的JavaScript约定是什么?就像Python pass命令一样。 一个选择就是一个空函数: function() {} jQuery提供了$.noop(),它只是调用了上面的empty函数。 只需输入值falseor 可以接受0吗? 在上下文中...所有这些工作都不会在Chrome中引发错误: var a = 2; (a === 1) ? alert(1) : function() {}; (a === 1) ? alert(1) : $.noop(); (a === 1) ? alert(1) : false; (a === 1) ? alert(1) : 0; 编辑:很多人都回答:“不要这样做!更改代码结构!” 这让我想起了一个帖子,有人问如何监听浏览器。他收到大量的帖子,说:“不要这样做!这很邪恶,”但是没人告诉他如何嗅探浏览器。这不是代码审查。想象一下,您正在处理无法更改的旧代码,并且如果没有传入某些函数,它将抛出一个错误。或者,简单地说,就是客户想要的方式,他们正在付钱给我。因此,请分别回答以下问题:在JavaScript中指定“无操作”功能的最佳方法是什么? EDIT2:其中之一怎么样? true; false; 0; 1; null;

8
如何优雅地忽略MATLAB函数的某些返回值?
是否可以从函数中获取“ nth”个返回值,而不必n-1在此之前为所有返回值创建伪变量? 假设我在MATLAB中具有以下功能: function [a,b,c,d] = func() a = 1; b = 2; c = 3; d = 4; 现在假设,我只对第三个返回值感兴趣。这可以通过创建一个虚拟变量来实现: [dummy, dummy, variableThatIWillUse, dummy] = func; clear dummy; 但是我认为这有点丑陋。我认为您可能可以执行以下操作之一,但不能: [_, _, variableThatIWillUse, _] = func; [, , variableThatIWillUse, ] = func; variableThatIWillUse = func(3); variableThatIWillUse = func()(3); 是否有任何优雅的方式来做到这一点做的工作? 到目前为止,最好的解决方案是简单地将variableThatIWillUse用作虚拟变量。这使我不必创建一个真正的伪变量,该变量会污染工作空间(或者我需要清除)。简而言之:解决方案是variableThatIWillUse对每个返回值使用直到有趣的值。之后的返回值可以简单地忽略: [variableThatIWillUse, …


1
匿名函数中的PHP变量
我在玩PHP中的匿名函数,并意识到它们似乎没有到达它们之外的变量。有什么办法可以解决这个问题? 例: $variable = "nothing"; functionName($someArgument, function() { $variable = "something"; }); echo $variable; //output: "nothing" 这将输出“无”。匿名函数有什么方法可以访问$variable?

6
在Python中,什么时候应该使用函数而不是方法?
Python的Zen指出,只有一种方法可以做事情-但我经常遇到决定何时使用函数以及何时使用方法的问题。 让我们举一个简单的例子-ChessBoard对象。假设我们需要某种方式使董事会上所有合法的King举动均可用。我们是否编写ChessBoard.get_king_moves()或get_king_moves(chess_board)? 这是我看过的一些相关问题: 为什么python使用“魔术方法”? Python字符串没有字符串长度方法是有原因的吗? 我得到的答案基本上没有定论: 为什么Python使用方法来实现某些功能(例如list.index()),却使用其他方法(例如len(list))呢? 主要原因是历史。函数用于那些对一组类型通用的操作,即使对于根本没有方法的对象(例如元组),这些操作也可以使用。使用Python的功能特性(map(),apply()等)时,具有可以轻松应用于对象的不定形集合的函数也很方便。 实际上,将len(),max(),min()实现为内置函数实际上比将它们实现为每种类型的方法要少。人们可能会质疑个别情况,但这是Python的一部分,现在进行这样的基本更改为时已晚。必须保留功能以避免大量代码损坏。 尽管很有趣,但是上面并没有真正说明采用哪种策略。 这是原因之一-使用自定义方法,开发人员可以自由选择其他方法名称,例如getLength(),length(),getlength()或其他名称。Python强制执行严格的命名,以便可以使用通用函数len()。 稍微有趣一点。我认为函数在某种意义上是接口的Pythonic版本。 最后,来自Guido本人: 谈论能力/接口使我想到了一些“流氓”特殊方法名称。在《语言参考》中,它说:“类可以通过定义具有特殊名称的方法来实现某些由特殊语法调用的操作(例如算术运算或下标和切片)。” 但是,所有这些带有特殊名称的方法(例如__len__或)__unicode__似乎都是为内置函数的利益提供的,而不是为了支持语法。大概在基于接口的Python中,这些方法将在ABC上变成常规命名的方法,因此 __len__将成为 class container: ... def len(self): raise NotImplemented 虽然,再想一想,我不明白为什么所有的句法运算都不会仅仅在特定的ABC上调用适当的通常命名的方法。“ <”举例来说,大概会调用“ object.lessthan”(或者是“ comparable.lessthan“)。因此,另一个好处是能够使Python摆脱这种乱七八糟的名字,对我而言这似乎是HCI的改进。 嗯 我不确定我是否同意(图:-)。 我首先要解释“ Python基本原理”的两个方面。 首先,出于HCI的原因,我选择了len(x)而不是x.len()(def __len__()后来出现了)。实际上,两个HCI相互交织在一起: (a)对于某些运算,前缀表示法比后缀读得更好-前缀(和infix!)操作在数学中具有悠久的传统,喜欢在视觉上帮助数学家思考问题的表示法。比较与我们改写像公式简单x*(a+b)到x*a + x*b使用原始OO符号做同样的事情的笨拙。 (b)当我读到说的代码时,len(x)我知道那是在问某物的长度。这告诉我两件事:结果是整数,参数是某种容器。相反,当我阅读本文时x.len(),我必须已经知道这x是一种实现接口或从具有standard的类继承的容器len()。当未实现映射的类具有get()或keys() 方法,或者不是文件的某些具有方法时,我们有时会感到困惑write()。 用另一种方式说同样的事情,我将'len'视为内置 操作。我不想失去那个。我不能肯定地说出您是否是那样的意思,但是“ def len(self):...”当然听起来像您想将其降级为普通方法。我对此坚决为-1。 我答应解释的Python基本原理的第二点是为什么我选择了特殊的外观__special__而不是仅仅 选择外观的原因special。我期待类可能要覆盖的许多操作,一些标准(例如__add__或__getitem__),某些不是那么标准(例如,泡菜__reduce__很长一段时间都不支持C代码)。我不希望这些特殊操作使用普通的方法名称,因为那样的话,预先存在的类或用户没有为所有特殊方法存储百科全书的用户编写的类可能会意外地定义它们并非要实现的操作,可能会造成灾难性的后果。伊万·科斯蒂奇(IvanKrstić)在他的信息中对此进行了更为简洁的解释,在我将所有这些内容写完之后,这些信息才得以体现。 ---Guido van Rossum(主页:http ://www.python.org/~guido/ ) 我对此的理解是,在某些情况下,前缀表示法更有意义(即,从语言的角度来看,Duck.quack比quack(Duck)更有意义。)而且,该函数还允许使用“接口”。 …

10
这是一个纯函数吗?
大多数源将纯函数定义为具有以下两个属性: 对于相同的参数,其返回值相同。 其评估没有副作用。 这是与我有关的第一个条件。在大多数情况下,很容易判断。考虑以下JavaScript函数(如本文所示) 纯: const add = (x, y) => x + y; add(2, 4); // 6 不纯: let x = 2; const add = (y) => { return x += y; }; add(4); // x === 6 (the first time) add(4); // x === 10 (the second time) …

12
如何在Scala中分析方法?
分析Scala方法调用的标准方法是什么? 我需要的是方法周围的钩子,可以用来启动和停止计时器。 在Java中,我使用方面编程AspectJ来定义要分析的方法,并注入字节码以实现相同的目的。 Scala中是否有更自然的方法,我可以在函数之前和之后定义一堆函数,而又不会在过程中丢失任何静态类型?


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.