gpt4 book ai didi

Ruby,使用相同的 DO block 评估一个或另一个 ruby​​ 函数

转载 作者:太空宇宙 更新时间:2023-11-03 18:08:25 25 4
gpt4 key购买 nike

在 ERB 或 HAML 中,我需要能够根据条件的输出评估一个函数或另一个函数,同时对其中一个函数使用相同的 HTML block 。

在 HAML 中,它会像这样:

- is_a = @thing.is_a?
= (is_a ? f.method_a : f.method_b) arg_1, |block_arg1| do
#thing
.blah
.inner-thing
= block_arg1.some_method

请注意,在我的伪代码的第 2 行,我试图根据条件评估一个函数或另一个函数。但我需要将相同的参数传递给任何一个,尤其是因为我不想重新键入 DO block 。

也许我可以通过使 DO block 成为一个命名函数来避免这个问题(“我不想重新输入...”)?如何将 HAML 或 ERB block 转换为命名的 Ruby 函数?

我正在使用 Ruby-on-Rails 4。这无关紧要;这看起来更像是一个 ruby​​ 语法问题,而不是一个框架问题。

最佳答案

你好像在找#send

- is_a = @thing.is_a?
= f.send(is_a ? :method_a : :method_b, arg_1) do |block_arg|
(...)

关于Ruby,使用相同的 DO block 评估一个或另一个 ruby​​ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39380147/

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