gpt4 book ai didi

Ruby 从 block 中返回的对象获取数组

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

在 Ruby 中,在某些情况下(ruby/gosu/texplay)我看到过如下代码:

image.paint {
circle 20, 20
pixel 10, 10
}

我是否可以编写一个可以像这样使用的类似函数?

my_function {
"one"
"two"
"three"
}

那将返回和数组: [“一”、“二”、“三”]

附注这个函数不仅仅用于生成数组,我也不知道这样做的方法,我需要知道的只是语法。提前致谢,嗯。

最佳答案

TexPlay 看起来不错,你是怎么找到它的? :)

我想不出一种方法来做你想做的事,抱歉。但是,如果您在每个字符串前加上 _ 就很容易:

function {
_"one"
_"two"
_"three"
}

#=> ["one", "two", "three"]

地点:

def function(&block)
Object.new.tap do |s|
s.instance_eval do
def _(var)
@val ||= []
@val << var
end
end
s.instance_eval(&block)
end.instance_variable_get(:@val)
end

关于Ruby 从 block 中返回的对象获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859506/

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