ruby - 如何编写单行 block

标签 ruby ruby-on-rails-4 block

我发现自己尝试使用单行 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/

相关文章:

html - 在中心排列许多 block (html)

ruby-on-rails - 使用 Resque 重新排队作业

ruby-on-rails - Ruby - 遍历模块

ruby-on-rails - 在 Rails 4 中添加引用列迁移

android - 为传入的 SMS 注册 BroadcastReceiver

objective-c - 在 Objective-C block 的实现中调用 super

python - Ruby 哈希相当于 Python dict setdefault

mysql - 计算 Rails 中的日期列

ruby-on-rails - rails 4.0。供应商/ Assets /javascripts - Assets 管道问题

ruby-on-rails - 没有路由匹配 [POST] "/articles/new"