首页 > 解决方案 > Ruby Map 函数返回 nil

问题描述

我正在尝试在对象数组上使用 ruby​​ 的地图功能。我想返回一个仅包含选择字段的新数组。

the_array.map do |element|
    {
       "name"=> element.name,
       "field_type"=> element.field_type
    }
end

这是用 . 替换整个数组[nil,nil,nil]。我究竟做错了什么?

 def self.select_fields(the_array)
    14:   waw =  the_array.map do |element|
    15:           {
    16:             "name"=> element.name,
    17:             "field_type"=> element.field_type
    18:           }
    19:           binding.pry
    20:         end
 => 21:   binding.pry
    22: end

在第二个 binding.pry 如果我打印出来 waw 我得到[nil, nil, nil]

标签: ruby

解决方案


块执行的结果是最后一行。你binding.pry在这条线显然返回nil。这就是为什么你会得到一个 s 数组nil

只需远程它,您的代码就应该像魅力一样工作


推荐阅读