gpt4 book ai didi

ruby - Ruby 如何知道哪个 OLE 对象是可枚举的?

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:20 25 4
gpt4 key购买 nike

我当时使用 Ruby 和 WIN32OLE(具体来说是 Excel)。

我发现所有那些可枚举的对象,例如 Range.Columns,在 Ruby 中都是自动可枚举的,并且可以使用 obj.each 方法进行迭代。

我想知道它是如何工作的?我知道如果你想使某些东西可枚举,你必须 include "Enumerable"。但显然他们不能将该行放入 OLE 对象中。是不是直接将obj.each方法映射到for each循环?

最佳答案

an interesting set of posts here这可能会回答您的问题,特别是:

(...) each is called as dynamically as any other OLE method; it's not determined before the call whether or not the object actually implements IEnum.

和:

Enumerable#find method clashes the 'find' method of Excel Range object. This is the (only) reason why WIN32OLE does not include Enumerable.

WIN32OLE class has 'each' method (WIN32OLE#each is defined) (...)

希望这对您有所帮助!

关于ruby - Ruby 如何知道哪个 OLE 对象是可枚举的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9929445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com