gpt4 book ai didi

ruby-on-rails - 从数组中提取名称并在每个名称后添加换行符

转载 作者:数据小太阳 更新时间:2023-10-29 08:32:55 25 4
gpt4 key购买 nike

下面是我为一小段 Ruby 代码编写的单元测试。

subject { AutoShop.new 'Mr. Fix It', 'WA987654321', Employee.new('Sue', 'Owner', 0) }

it '#employee_list returns list of employee names' do
# setup
input = [Employee.new('Lou', 'Receptionist', 90_000)]
subject.append_employees input
subject.employee_list.should eq "Sue\nLou"
end

这是类的代码。但是,我无法在 employee_list 方法中正确显示姓名。我是 Ruby 的新手,所以任何建议都将不胜感激。

class AutoShop < Business

attr_accessor :employees

def initialize(name, tax_id, employee)
super(name, tax_id)
@employees = []
@employees << employee
end

def append_employees(input)
input.map { |x| @employees << x }
end

def employee_list
@employees.map {|x| x.name}
end

end

最佳答案

您的 employee_list 方法,基于您的单元测试,应该输出每个名字,用换行符 \n 分隔。因此,添加一个 .join("\n") 以从数组中生成一个字符串。

def employee_list
@employees.map {|x| x.name }.join("\n")
end

.map 也可以用“pretzel-colon”速记来完成:

@employees.map(&:name).join("\n")

关于ruby-on-rails - 从数组中提取名称并在每个名称后添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804752/

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