问题标签 [method-missing]
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.
objective-c - Objective-C 前向调用:
我经常做这样的事情:
在 的类别中UINavigationController
,我将如何覆盖forwardInvocation:
,以便我可以这样做:
请在您的答案中包含相关代码,而不仅仅是解释。谢谢!
随意评论这是否是好的做法。我也是出于教育目的而要求这样做,但在我看来,在这种情况下,代码的简化可能会超过处理时间和内存使用方面的不明显(正确?)成本。另外,我来自 Ruby 背景,喜欢使用动态编程来简化事情,例如
find_by_name
Rails 中的动态查找器(例如 )。如果您可以
pushCoolViewControllerAnimated:withBlock
在初始化视图控制器后实现和调用该块,则可以加分,允许我在创建的视图控制器上设置某些实例变量。
更新:我只记得 ARC 即将推出。所以这个特定的例子可能没有那么有用,但仍然是一个很好的练习/例子,可以在其他情况下使用,例如,核心数据的动态查找器和传递一个块来配置NSFetchRequest
.
python - Python 相当于 Ruby 的“method_missing”
Python 的 Rubymethod_missing
方法等价物是什么?我尝试使用__getattr__
,但这个钩子也适用于字段。我只想拦截方法调用。Python的方法是什么?
objective-c - 课堂上的Objective C和魔术方法
Objective-c 是否提供了一种拦截对不存在的类方法的调用的方法?
python - Ruby 在 Python 中的“method_missing”
Python 中是否有任何技术可用于拦截消息(方法调用),例如 Ruby 中的 method_missing 技术?
android - android camera (froyo) 不包含静态方法 open()
我必须是第一个面对这个问题的人,因为我什至找不到一个关于它的线程。
今天我想从我的应用程序需求的相机方面开始。我阅读了一些文档
我的清单如下所示:
<application>
我在上面和下面的清单中写了这个<manifest>
我在做什么;我创建了一个新类。使用 eclipse 作为我的 IDE。
然后我声明一个字段:
在构造函数中(只是为了测试)我试图做:
我有一个错误。我使用我的真实手机来测试应用程序,因为我没有网络摄像头或任何可供模拟器使用的东西。当我告诉它有相机时,模拟器给了我一个内存错误。
无论如何,在找出我不能使用 Camera.open 的原因(我包含了包:android.graphics.Camera;)因为这是我用来组织导入功能时 eclipse 包含的内容。
我查看了 eclipse 为我附加的 android.jar。包含在名为 Android 2.2 -> android.jar 的文件夹中
我搜索了 android.graphics 并查看了 Camera.class 的内容
事实证明,我的 Camera 类只有这些方法:
我故意让参数出来,因为它们并不重要。
要解决实际问题:为什么?
为什么没有 open() 方法,没有 release() 方法?以及我缺少的其他任何东西..'
谢谢阅读。
今天的教训:不要做一个聪明的**。我确实 950% 确定我包含了那个特定的包。但这是错误的包裹。德普。谢谢你通知我。问题解决了。
ruby - Ruby 是否有未定义实例变量的 method_missing 等价物?
当我调用一个不存在的方法时,method_missing
会告诉我方法的名称。当我尝试访问尚未设置的变量时,该值只是nil
.
我正在尝试动态拦截对 nil 实例变量的访问,并根据正在访问的变量的名称返回一个值。最接近的等价物是 PHP 的__get
. Ruby 中是否有任何等效的功能?
ruby - Lua 没有和 Ruby 的 method_missing 可比的东西吗?
我似乎记得 Lua 有一些类似于 Ruby 的 method_missing 的东西。还是我记错了?
ruby - 什么时候调度表可能和 Ruby 中的 method_missing 一样好?
在任何情况下,实现为 lambda 哈希的调度表可能与覆盖 Ruby 的 method_missing 一样好,甚至更好?我之所以问,是因为我今天使用了这种技术,因为我是 Ruby 的新手,但之前有 Perl 背景,维基百科中的调度表示例甚至是用 Perl 实现的;)请参阅:
http://en.wikipedia.org/wiki/Dispatch_table
无论如何,使用调度表而不是 method_missing 有什么缺点。也许我下面的 Ruby 代码提供了线索?看起来我的调度表可能会变得非常大,并且无法访问它包含的 lambdas 以在另一个上下文中使用。所以也许我在某种程度上回答了我的问题,但我真的很感兴趣,什么时候调度表可能是比 method_missing 或其他元编程技术更好的解决方案,谢谢
r - sp R 包和缺失值
我正在尝试使用 sp 包在 R 中创建气泡图。我的数据有很多缺失值(“N/A”),气泡图似乎不喜欢它。
当我运行此代码时,我收到一条错误消息“quantile.default(data[, zcol]) 中的错误:如果 'na.rm' 为 FALSE,则不允许缺少值和 NaN”。
我不明白,因为我说过要删除缺失值!我怀疑 sp 处理我错过的缺失值的方法略有不同
javascript - Javascript 中缺少捕获方法并执行一些逻辑?
在 Ruby 中,您可以捕获对缺少的方法的调用并动态定义它。
我想在 JavaScript 中完成的是拥有一个没有方法的对象。我希望将缺少的方法转换为对 emit() 的调用:
我认为最好捕获缺少的方法错误并运行 emit(methodName) 而不是在运行时定义所有方法(来自固定列表)。这样,如果一个对象有成百上千个事件,我们就不会有性能开销。
做这个的最好方式是什么?
更新:这是一个 API 设计,所以我宁愿远离:
我想知道如何在幕后完成此操作,以便用户可以照常使用方法。