@xs 存储网址,例如www.yahoo.com,www.google.com
for x in @xs
y = x... #do something with x
@result += y #i want to do something like that. i want to store them in @result. What do i have to write in here?
end
抱歉没有问题。顺便问一下你怎么称呼@result?它是实例变量还是数组?
答案 0 :(得分:3)
您需要先初始化@result
。
@result = []
for x in @xs
y = x...
@result << y
end
答案 1 :(得分:1)
你应该这样做:
@result << y
或者这个:
@result += [y]
+
运算符需要两个数组,<<
运算符将一个对象附加到数组上。
答案 2 :(得分:1)
从问题中我可以看出,你想改变现有数组的内容
@mutated_xs = @xs.collect do |x|
y = x.do_something # some code for to do something to x returning y
x += y # mutate existing x here
end
puts @mutated_xs.inspect
答案 3 :(得分:1)
如果你想获取数组中的每个元素并进行更改,那么惯用的Ruby方法是使用map或collect:
@new_urls = @urls.map do |url|
# change url to its new value here
end
您无需手动将其分配给@new_urls,只需编写一个返回所需值的语句,如url.upcase
或您想要做的任何事情。