Ruby 将 String 拆分为两部分并放入带有预定义键的散列

标签 ruby string hash split

我不知道这是否真的是好的 ruby​​ 代码,但我想做的是将一个 String 分成两个单独的部分,并将这两个部分作为两个特定键的值。例如:

  name_a = "Henry Fillenger".split(/\s+/,2)
  name = {:first_name => name_a[0], :last_name => name_a[1]}

我想知道这是否可以通过一些 ruby​​ 魔法在一行中完成。

最佳答案

您可以使用Hash[]zip这样做:

name = Hash[ [:first_name, :last_name].zip("Henry Fillenger".split(/\s+/,2)) ]

但是我会说您的版本更具可读性。并非所有内容都必须在一条线上。

关于Ruby 将 String 拆分为两部分并放入带有预定义键的散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6658675/

相关文章:

ruby-on-rails - 在 Rails 中,如何在功能测试中 stub 渲染方法?

python - 如何将 python 库集成到 Ruby on Rails 应用程序中

c++ - 除以 sizeof(void *) 是什么意思?

hash - 是否可以解密 MD5 哈希?

string - QString 显示上标时出现问题

java HashMap 'cannot be resolved'。可以执行方法但无法打印

ruby-on-rails - 覆盖模块类方法

ruby - 如何重构 Ruby block 并将重复调用提取到方法中?

c# - 格式化 TimeSpan 字符串

string - 检查字符串是否以 Emacs Lisp 中的后缀结尾