Ruby 如何单独修改嵌套数组中的第二个元素红宝石

Ruby 如何单独修改嵌套数组中的第二个元素红宝石,ruby,Ruby,假设我有这样一个2D数组: list = [["auburn", "http://auburn.craigslist.org"], ["birmingham", "http://bham.craigslist.org"], ["dothan", "http://dothan.craigslist.org"]] list = [["auburn", "http://auburn.craigslist.org/web/"], ["birmingham", "http://bham.craigsli

假设我有这样一个2D数组:

list = [["auburn", "http://auburn.craigslist.org"], ["birmingham", "http://bham.craigslist.org"], ["dothan", "http://dothan.craigslist.org"]]
list = [["auburn", "http://auburn.craigslist.org/web/"], ["birmingham", "http://bham.craigslist.org/web/"], ["dothan", "http://dothan.craigslist.org/web/"]]
我希望它看起来像这样:

list = [["auburn", "http://auburn.craigslist.org"], ["birmingham", "http://bham.craigslist.org"], ["dothan", "http://dothan.craigslist.org"]]
list = [["auburn", "http://auburn.craigslist.org/web/"], ["birmingham", "http://bham.craigslist.org/web/"], ["dothan", "http://dothan.craigslist.org/web/"]]
我刚刚修改了每个嵌套数组中的第二个元素

我用Ruby怎么做


谢谢。

list.map!{elem}[elem[0],elem[1]
list.map!{elem}[elem[0],elem[1]试试这个

list.map!{|f,l| [f, l + "/web/"]}
试试这个

list.map!{|f,l| [f, l + "/web/"]}

这很神奇…一个问题…所以基本上我想在修改前捕获
elem[1]
中的每个URL…然后将其用作
elem[2]
中另一个URL的基础。我怎么做?我尝试将局部变量设置为
elem[1]
在我将
/web/
附加到它之前,它仍然为
元素[2]
提供修改后的URL,而不是预先修改的URL。也就是说,我得到的是
URL.com/web/
而不仅仅是
URL.com
。这将创建一个新列表并修改现有列表。如果您想修改(列表中的字符串)现有列表,不要使用
映射
,只需使用
每个
。这很奇妙…一个问题…所以基本上我想在修改
elem[1]
之前捕获每个URL…然后将其用作
elem[2]
中另一个URL的基础。我如何做?我尝试将局部变量设置为
elem[1]
在我将
/web/
附加到它之前,它仍然为
元素[2]
提供修改后的URL,而不是预先修改的URL。也就是说,我得到的是
URL.com/web/
而不仅仅是
URL.com
。这将创建一个新列表并修改现有列表。如果您想修改(列表中的字符串)现有列表,不使用
映射
,只使用
每个
。这是有效的…但我尝试做的另一件事是向每个列表元素添加另一个url,例如,使用另一个url修改结尾
/bk/
。因此列表将是
[0]=text,[1]=url.com/web/,[2]=url.com/bk/
。我在这里怎么做呢?这应该是:
list.map!{f,l |[f,l+“/web/”,l+“/bk/”]}
这很管用……但我尝试做的另一件事是在每个列表元素中添加另一个url,例如,用结尾
/bk/
修改另一个url。所以列表将是
[0]=text,[1]=url.com/web/,[2]=url.com/bk/
。我在这里怎么做?应该这样做:
list.map!{f,l{f,l+“/web/”,l+“/bk/”]}