草庐IT

constructor_arguments

全部标签

ruby - 定义方法 : How to dynamically create methods with arguments

我想为find_by功能创建一堆方法。我不想一遍又一遍地写同样的东西,所以我想使用元编程。假设我想创建一个按名称查找的方法,接受名称作为参数。我该怎么做?我过去曾使用过define_method,但我没有为该方法采用的任何参数。这是我的(坏的)方法["name","brand"].eachdo|attribute|define_method("self.find_by_#{attribute}")do|attr_|all.eachdo|prod|returnprodifprod.attr_==attr_endendend有什么想法吗?提前致谢。 最佳答案

ruby - "wrong number of arguments (1 for 0)"在 Ruby 中是什么意思?

“参数错误:参数数量错误(1代表0)”是什么意思? 最佳答案 当您定义一个函数时,您还定义了该函数需要工作的信息(参数)。如果它被设计为在没有任何额外信息的情况下工作,并且你传递了一些信息,你就会得到那个错误。例子:不接受参数:defdogend接受参数:defcat(name)end当你调用它们时,你需要用你定义的参数来调用它们。dog#worksfinecat("Fluffy")#worksfinedog("Fido")#ReturnsArgumentError(1for0)cat#ReturnsArgumentError(0f

javascript - JsDoc、ES6 和@param {Constructor}

我正在尝试使用JsDoc来记录es6类。无法相信您不能将类作为参数传递(类类型,而不是实例类型)。我一直在尝试一些事情,但无法让这个简单的代码正常工作,因此JsDoc不会向我抛出一些警告。除非我为我的每个类创建一个@typedef,然后手动将所有自己的和继承的成员添加到它,否则我无法让它工作。甚至不能做mixin!有没有人成功传递构造函数/类参数?让JsDoc处于静态上下文中,而不是实例上下文中?/***@classA*/classA{/***@static*/statichelloFromClassA(){}}/***@classB*@extendsA*/classBextendsA

javascript - Array.prototype.slice.call(arguments) 与 Array.prototype.slice.apply(arguments)

上一个posts已经讨论过Array.prototype.slice.call(arguments)是如何工作的,但我不明白你为什么使用call而不是apply当apply用于类似数组的对象时,而call用于以逗号分隔的对象列表。arguments不是应该使用apply而不是call的类数组对象吗? 最佳答案 如果您想将参数传递给数组中的slice而不是一个一个地传递,那就有区别了。你可以这样做[1,2,3,4,5,6,7]----ourexampleargumentsArray.prototype.slice.call(argum

JavaScript 约定 : How do you assign arguments to the parent scope

varproblemtest=function(){varparameters;returnfunction(parameters){parameters=parameters;}}varmysolutiontest=function(){varparameters;returnfunction(parametersIn){parameters=parametersIn;}}这更像是一个JavaScript约定问题。通常我在上面有类似的代码。函数接受参数并将其分配给父范围。但是,我不能像在problemtest中那样使用它,因为作为参数的parameters隐藏了problemtest

javascript - 语法错误 : invalid arrow-function arguments (parentheses around the arrow-function may help)

这样的代码会产生一个错误:if(hr>t1[0]||(hr==t1[0]&&min=>t1[1])&&hr错误:SyntaxError:无效的arrow-function参数(arrow-function周围的括号可能有帮助)这是什么意思,它是如何发生的?Google搜索此错误毫无用处。编辑:似乎是使用=>=而不是=引起的。但我仍然很好奇为什么错误是这样表述的,以及箭头函数应该是什么。编辑2.首先,我没有意识到这实际上可能是特定于浏览器的问题。另外,我没有意识到现在人们在浏览器上下文之外的其他地方使用JS。所以,为了说明这一点,我的浏览器是MozillaFirefox25.0.1。

javascript - arguments 属性可以通过 this.some_function.arguments 访问吗?其实我无法解释?

我在读一本JavaScript书,我在读如何通过原型(prototype)扩展JavaScript数组的数组功能,然后我来到这个我无法理解的例子,也没有对它进行深入的解释,我不是能够理解:Array.prototype.some_function=function(){varargs=this.some_function.arguments;//1varargs_length=this.some_function.arguments.length;//2...}//some_function在这里我能够访问参数,但我不知道这是如何工作的,意思是this指的是我们调用此方法的对象(在此上

javascript - "Error: Arguments array must have arguments."应用模块

在我的Angular应用程序中运行ngserve并成功编译时,我开始在浏览器控制台中收到以下错误。AppComponent_Host.ngfactory.js?[sm]:1ERRORError:Argumentsarraymusthavearguments.atinjectArgs(core.js:1412)atcore.js:1491at_callFactory(core.js:8438)at_createProviderInstance(core.js:8396)atresolveNgModuleDep(core.js:8371)atNgModuleRef_.push../node

javascript - 如果我使用 _.bindAll(this) 为什么我的 Backbone.View.constructor.__super__ 未定义

我正在继承我自己的Backbone.View。如果,在父类(superclass)的初始化函数中,我写:_.bindAll(这个,'很多','方法');并指定我想绑定(bind)到此上下文的方法,我可以通过以下方式从子类调用super:this.constructor.__super__.initialize.apply(this,arguments);但是,如果在父类(superclass)中,我使用:_.bindAll(this)相反,当我从我的子类调用super时,this.constructor.__super__未定义。为什么会这样? 最佳答案

javascript - react 模棱两可的错误消息 : "Check the render method of ` Constructor`.“

我在客户端使用React来呈现我的应用程序的View。当我在浏览器控制台中查看错误报告时,我有时会看到错误检查“Constructor”的渲染方法,而不是发生错误的类的正确名称。例如,我会看到如下消息:Warning:Eachchildinanarrayoriteratorshouldhaveaunique"key"prop.Checktherendermethodof`Constructor`.Seehttps:///react-warning-keysformoreinformation.为什么我的类(class)名称显示为Constructor?如何让React正确显示类的名称。