0
是否可以编写一个函数,该函数接受一个字符串块,对这些字符串执行某些操作,然后用该字符串返回一个数组?取出一串字符串并将它们存储在一个数组中
def collect_string(&block)
# just toss them into an array and return it
return ...
end
a = collect_string {
"string 1"
"string 2"
"string 3"
}
当我打印出来什么a
是,我应该得到
["string 1", "string2", "string3"]
现在假设我决定改变我的想法,并希望做一些更与字符串第一。也许我想先删除所有的元音,或者只是抓住前3个字符。
我在想也许我的collect_string方法可能需要一些选项来格式化一组字符串,然后我可以传入一个块中的实际字符串。我总是可以将它们全部设置为参数,但我期待着看到我想要做的事情。 – MxyL 2012-07-11 20:34:31
@Keikoku你可以传递一个块,但是返回一个数组,而不是原始字符串。 – 2012-07-11 20:36:33
将数组传递给块是很好的。我正在查看Proc文档,但我不确定如何实际获取数组并使用其元素进行操作。 – MxyL 2012-07-11 20:50:47