我发现自己尝试使用单行 block ,但最终还是不得不分成多行。我最近的例子是,我试图从事件记录对象的 name
字段中获取缩写。
@employee.name = "John Doe"
我想返回“JD”
。
我知道如何做到这一点的唯一方法是初始化一个字符串,然后拆分名称,然后添加到初始化的字符串中。至少我怎样才能避免初始化空字符串?
def initials # In model
intials = ''
name_array = self.name.split(" ")
name_array.each { |name| initials += name[0].capitalize }
return initials
end
最佳答案
让我尝试一些概念验证
class Employee
attr_accessor :name
def initials
@name.split(' ').map { |name| name[0] }.join
end
end
e = Employee.new
e.name = "Foo Baz"
p e.initials # FB
关于ruby - 如何编写单行 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110155/