gpt4 book ai didi

ruby 替代类 << 东西

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

我想重写 HighLine 的几个方法来自定义我的控制台,目前我的代码如下所示:

        cmd = ask("#{@prompt_label} #{@prompt_separator} ", @tab_completion_candidates) do |q|
q.readline = true

# rewriting the Question class to make it do what we want
class << q
HERE I WRITE MY CODE
end
end

我希望能够将我的更改与我的主控制台文件分开,所以假设我有一个 Console::Question 类,其中包含我想在 HighLine::Console 中进行的所有更改,我想能够做这样的事情:

Console::Question << q
end

但不幸的是这不起作用:)

有什么解决办法吗?

感谢您的宝贵时间。

最佳答案

如果您将更改放在模块而不是类中,那么您可以这样做

q.extend(YourModule)

例如覆盖 valid_answer?

module QuestionCustomisations
def valid_answer?
# your code here
end
end

q.extend(QuestionCustomisations)

这将仅在传递给 block 的对象实例中应用您的更改。

关于ruby 替代类 << 东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1102368/

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