问题标签 [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.

0 投票
1 回答
1415 浏览

ruby - Ruby 循环遍历实例方法并运行它们

我有以下课程:

上面的类有可能需要运行更多的方法,而不必单独调用每个方法……有没有办法在初始化方法中运行所有实例方法?

0 投票
2 回答
2416 浏览

ruby-on-rails - 如果邮件程序没有这样定义,你怎么能在邮件程序上调用类方法呢?

在 Rails 中发送邮件时,通常会这样做:

但如果我们往里面看,UserMailer我们可以看到:

请注意,方法名称没有以 . 为前缀self。看着它,您似乎需要先实例化对象,如下所示。Rails 是如何做到这一点的?

0 投票
3 回答
753 浏览

c++11 - 在 c++11 中,将 lambda 函数传递给 scandir 可能是不可能的。下一个最好的事情是什么?

我需要一个实例方法或一个 lambda 函数,或者它相当于作为 select 函数参数传递给 scandir。有没有办法做到这一点?

我想要实现的关键是让 select 函数(回调)看到调用它的类的每个实例的不同参数。为了使这个线程安全,或者只是不丑陋,我不能只将我的参数存储在全局变量中,这就是类实例的用途。

如果它与 c++11 中的 lambda 函数一起使用,它会是什么样子:

这将获取名称以指定字符开头的所有文件。我不在乎我是否将局部变量或实例变量传递给函数。

我希望 scandir 本身是线程安全的。当然我可以使用信号量或互斥体,但这真的有必要吗?

当然这只是select函数的一个简单例子。我真正想做的事情更复杂。

0 投票
4 回答
422 浏览

java - Java、继承和实例方法。为什么我的方法不会继承?

我是一名试图理解 Java 中的继承的本科生。docs.oracle 网站说一个类的所有成员都是继承的,除了构造函数。这是有道理的。问题是我做了一个实验,但没有奏效。这里是:

当我运行三时,我得到:无法从静态上下文引用非静态方法 outPrint()。这当然是因为编译器将 outPrint() 视为实例成员。如果我将关键字“static”添加到 outPrint() 方法标头,那么整个事情就可以正常工作。

这就是我的困惑所在。似乎不仅仅是不可继承的构造函数,还有它的所有实例成员。谁能更好地向我解释一下?是否有不涉及使用“静态”的解决方法?我尝试了一些“超级”实验,但无济于事。提前致谢!

0 投票
1 回答
931 浏览

coffeescript - CoffeeScript 实例方法

我有一个像这样定义的 CoffeeScipt 类

它不断出错,说未定义日志。我试着让它@log:也不起作用。我尝试制作->main a=>并没有工作。如何从类本身调用实例方法?

0 投票
1 回答
39 浏览

ruby - 提供同名类和实例方法的 Ruby 类

为了灵活性,我看到了一些带有类的 API,它们提供了同名的类和实例方法。

有什么理由说明这可能是个坏主意吗?

0 投票
1 回答
307 浏览

ruby-on-rails - `NoMethodError`,即使方法在 `instance_methods` 列表中

使用以下代码,当我尝试在调试器点使用我的代码(尝试使用 Song 类中的 'rating' 访问器)时,为什么会得到

NoMethodError Exception: undefined method "rating" for #<Class:0xb3b7db04>

即使Song.instance_methods清楚地表明了这一点:rating并且:rating=在列表中?

-

-

-

0 投票
2 回答
776 浏览

python - 如何monkeypatch一个类的实例方法到另一个?

给定一个类,我可以简单地通过A添加一个实例方法a

但是,如果我尝试添加另一个 classB的 instancemethod b,即A.b = B.b尝试调用会A().b()产生

TypeErrorb()必须以B实例作为第一个参数调用未绑定的方法(什么都没有)

(虽然B().b()很好)。确实有区别

所以,

  • 如何解决这个问题?
  • 为什么会这样?这似乎并不直观,但通常 Guido 有一些很好的理由......

奇怪的是,这在 Python3 中不再失败......

0 投票
2 回答
1396 浏览

class - 如何使用set方法通过coffeescript中的构造函数初始化实例变量

我在咖啡脚本中有一个“类”,我想用实例方法初始化它的实例变量,这些实例方法通过回调返回一个值,但它不像我希望的那样工作:

我得到的结果表明 setDatamember 中的“this”指的是与对象实例中的“this”指的不同的东西。如果我显式调用 myObj.setDatamember,我会得到预期的结果,但是有没有办法在构造函数中调用 set 方法——特别是通过回调设置数据成员的方法?我浏览了文档,以及各种其他的咖啡脚本信息来源(例如这个),我还没有找到任何涉及到这一点的东西。

0 投票
1 回答
49 浏览

objective-c - 当调用实例方法时,基础类如何知道要作用于哪个实例?

某些基础类,例如 NSString 或 NSArray 有实例方法,可以对那个实例做一些事情,但从不要求给那个实例。例如:

NSArray *array = @[@"hi"];

int number = [数组计数];

count 方法知道要计算哪个数组而不要求提供一个。你是怎么做到的?我希望使用 incrementByOne 实例方法在 NSString 上创建一个类别。我不想在方法 deceleration 中询问字符串,我想知道我正在对哪个对象执行操作,就像 count 知道要处理哪个数组一样。如果有人可以帮助我,我将不胜感激。