gpt4 book ai didi

ruby - 我如何使用 block 来更改 ruby​​ 中的执行上下文?

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

我正在为一个帐户对象创建一个工厂,我正在设置这样的名称:

name { "#{Faker::Hacker.ingverb} #{Faker::Hacker.adjective} #{Faker::Hacker.noun}" }

有没有办法使用 block 来更改执行上下文以消除冗余的 Faker::Hacker 调用?我想以这样的方式结束:

name { Faker::Hacker { "#{ingverb} #{adjective} #{noun}" } }

谢谢!

最佳答案

看起来您正在向类/模块发送方法,因此您的示例可能只是使用 Module#class_eval 重写了方法:

name { Faker::Hacker.class_eval { "#{ingverb} #{adjective} #{noun}"} }

将在 Faker::Hacker 类上调用传递给 class_eval 的 block 中的方法。

关于ruby - 我如何使用 block 来更改 ruby​​ 中的执行上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24964575/

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