问题标签 [instance-methods]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Ruby 循环遍历实例方法并运行它们
我有以下课程:
上面的类有可能需要运行更多的方法,而不必单独调用每个方法……有没有办法在初始化方法中运行所有实例方法?
ruby-on-rails - 如果邮件程序没有这样定义,你怎么能在邮件程序上调用类方法呢?
在 Rails 中发送邮件时,通常会这样做:
但如果我们往里面看,UserMailer
我们可以看到:
请注意,方法名称没有以 . 为前缀self
。看着它,您似乎需要先实例化对象,如下所示。Rails 是如何做到这一点的?
c++11 - 在 c++11 中,将 lambda 函数传递给 scandir 可能是不可能的。下一个最好的事情是什么?
我需要一个实例方法或一个 lambda 函数,或者它相当于作为 select 函数参数传递给 scandir。有没有办法做到这一点?
我想要实现的关键是让 select 函数(回调)看到调用它的类的每个实例的不同参数。为了使这个线程安全,或者只是不丑陋,我不能只将我的参数存储在全局变量中,这就是类实例的用途。
如果它与 c++11 中的 lambda 函数一起使用,它会是什么样子:
这将获取名称以指定字符开头的所有文件。我不在乎我是否将局部变量或实例变量传递给函数。
我希望 scandir 本身是线程安全的。当然我可以使用信号量或互斥体,但这真的有必要吗?
当然这只是select函数的一个简单例子。我真正想做的事情更复杂。
java - Java、继承和实例方法。为什么我的方法不会继承?
我是一名试图理解 Java 中的继承的本科生。docs.oracle 网站说一个类的所有成员都是继承的,除了构造函数。这是有道理的。问题是我做了一个实验,但没有奏效。这里是:
当我运行三时,我得到:无法从静态上下文引用非静态方法 outPrint()。这当然是因为编译器将 outPrint() 视为实例成员。如果我将关键字“static”添加到 outPrint() 方法标头,那么整个事情就可以正常工作。
这就是我的困惑所在。似乎不仅仅是不可继承的构造函数,还有它的所有实例成员。谁能更好地向我解释一下?是否有不涉及使用“静态”的解决方法?我尝试了一些“超级”实验,但无济于事。提前致谢!
coffeescript - CoffeeScript 实例方法
我有一个像这样定义的 CoffeeScipt 类
它不断出错,说未定义日志。我试着让它@log:
也不起作用。我尝试制作->
main a=>
并没有工作。如何从类本身调用实例方法?
ruby - 提供同名类和实例方法的 Ruby 类
为了灵活性,我看到了一些带有类的 API,它们提供了同名的类和实例方法。
有什么理由说明这可能是个坏主意吗?
ruby-on-rails - `NoMethodError`,即使方法在 `instance_methods` 列表中
使用以下代码,当我尝试在调试器点使用我的代码(尝试使用 Song 类中的 'rating' 访问器)时,为什么会得到
NoMethodError Exception: undefined method "rating" for #<Class:0xb3b7db04>
即使Song.instance_methods
清楚地表明了这一点:rating
并且:rating=
在列表中?
-
-
-
python - 如何monkeypatch一个类的实例方法到另一个?
给定一个类,我可以简单地通过A
添加一个实例方法a
但是,如果我尝试添加另一个 classB
的 instancemethod b
,即A.b = B.b
尝试调用会A().b()
产生
TypeError
:b()
必须以B
实例作为第一个参数调用未绑定的方法(什么都没有)
(虽然B().b()
很好)。确实有区别
所以,
- 如何解决这个问题?
- 为什么会这样?这似乎并不直观,但通常 Guido 有一些很好的理由......
奇怪的是,这在 Python3 中不再失败......
objective-c - 当调用实例方法时,基础类如何知道要作用于哪个实例?
某些基础类,例如 NSString 或 NSArray 有实例方法,可以对那个实例做一些事情,但从不要求给那个实例。例如:
NSArray *array = @[@"hi"];
int number = [数组计数];
count 方法知道要计算哪个数组而不要求提供一个。你是怎么做到的?我希望使用 incrementByOne 实例方法在 NSString 上创建一个类别。我不想在方法 deceleration 中询问字符串,我想知道我正在对哪个对象执行操作,就像 count 知道要处理哪个数组一样。如果有人可以帮助我,我将不胜感激。