Ruby - 将数组映射到哈希图

2024-04-22

我有一个数组和一个返回给定值的函数。最终我想创建一个哈希映射,将数组的值作为键值,将 f(key_value) 的结果作为值。是否有一种干净、简单的方法,例如类似于数组的each/map,使用块来执行此操作?

所以相当于

hsh = {}
[1,2,3,4].each do |x|
  hsh[x] = f(x)
end

但看起来与此更相似,因为它很简单,只有一行?

results = array.map { | x | f(x) }

请注意,从 Ruby 2.1.0 开始,您还可以使用数组#to_h http://ruby-doc.org/core-2.1.0/Array.html#method-i-to_h, 像这样:

[1,2,3,4].map{ |x| [x, f(x)] }.to_h
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby - 将数组映射到哈希图 的相关文章

  • RVM + Ruby 1.9.2 + Rmagick + Lion = 系统工作,RVM 不工作

    我已通过 RVM 在全新安装的 OS X Lion 上安装了 Ruby 1 9 2 我已经通过 homebrew 安装了 Ghostscript 和 imagemagick 当使用 RVM 运行 gem install rmagick 时
  • Mongoid 4 / MongoDB 2.4+“冻结”问题

    自从使用 Mongoid 维护与 mongodb 的连接以来 我遇到了一个奇怪的问题 我认为这最初是由于升级到 Rails 4 0 需要更新 Mongoid Moped 但我在其他基于 Rack 的应用程序 具体来说是 Sinatra 和
  • 如何按值降序对哈希进行排序并在 ruby​​ 中输出哈希?

    output sort by k v v reverse 和钥匙 h a gt 1 c gt 3 b gt 2 d gt 4 gt a gt 1 c gt 3 b gt 2 d gt 4 Hash h sort 现在我有这两个 但我试图按值
  • 在轮询器内异步运行代码

    在我的 ruby 脚本中 我使用 celluloid zmq gem 我尝试在轮询器内异步运行评估响应 使用 async evaluate response socket read multipart 但是 如果我从循环中删除睡眠 不知何故
  • 在 Ruby 中生成 GUID

    我有一个问题 用 GUID 很容易解决 特别是 对于密码重置工作流程 我想将 GUID 令牌发送到用户的电子邮件并让他们使用该令牌重置密码 由于 GUID 是唯一的 因此这非常安全 并且可以避免我通过电子邮件向人们发送密码 这是有风险的 我
  • 从 Ruby 运行 shell 命令:在显示输出时捕获输出?

    我有个问题 我想从另一个 ruby 脚本运行一个 ruby 脚本并捕获它的输出信息 同时让它也输出到屏幕上 runner usr bin env ruby print Enter your password password gets ch
  • 使用mongoid动态创建索引

    我有一项为我的文档创建新字段的工作 我想在这项工作结束时创建该字段的索引 我试过 Model index field gt 1 and also Mongoid Sessions default rating prediction ensu
  • Heroku:无法通过 Bundler 安装 gem

    我尝试使用以下命令将我的 Rails 应用程序推送到 Herokugit push heroku master f命令 我得到这个 Total 0 delta 0 reused 0 delta 0 remote Compressing so
  • 从架构中删除表 - Rails

    我想删除架构中的一个表 我在第一次启动项目时创建了数据库并希望删除该表 这样做的最佳方法是什么 I tried rails g migration drop table installs但这只会创建一个空迁移 Schema create t
  • Guard 不会加载 WDM

    我正在学习 Michael Hartl 的 Rails 教程 到目前为止该教程非常出色 我在高级设置一章中 他以有利于 TDD 的方式配置 Rails 环境 我安装了 Guard 并且通过运行我在 spec 文件夹中的测试 它一直正常运行
  • 在 Rails 3.2 + SimpleForm 中显示嵌套表单有错误的字段

    我有一个Flight模型嵌套在一个FlightLog模型 AFlightLog可能包含许多航班 我使用 SimpleForm 进行引导安装 这样当验证失败时 可以用错误类包围带有错误的表单元素 问题是 即使触发了嵌套模型的验证 simple
  • Selenium 找不到“spec”文件夹

    因此 我正在尝试建立本地系统来帮助完成仅使用 Rails 的雇主的现有项目 他们希望我主要关注 rspec 测试 因为该项目几乎可以正常运行 我需要充实他们错过的东西 但是 我无法获取 rake spec 来构建我的测试文件夹 事实上 测试
  • 如何用水豚填充日期时间本地字段?

    我正在使用 Cocoon 添加记录 ID 看起来像workshop instance sessions attributes 1477654140 start time 目前 我正在遍历 DOM 并获取动态生成的 ID 这很好用 这样我就可
  • 什么是“太聪明”的 Ruby 代码示例? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在与一些程序员朋友进行讨论 他们说他们看到 Ruby 程序员 尤其是 编写了很多 太聪明 的代码 所以我想知道那会是什么样子 我指
  • 如何在 Ruby 中列出局部变量?

    def method a 3 b 4 some method that gives a b end 局部变量 http ruby doc org core Kernel html method i local variables 它输出符号
  • 为什么这个 Ruby 方法返回“空值表达式”错误?

    我有这个简单的方法 def is palindrome sentence raise ArgumentError new expected string unless sentence is a String safe sentence s
  • 如何覆盖 Ruby Ranges 的 .. 和 ... 运算符以接受 Float::INFINITY?

    我想覆盖 and Ruby 中的运算符Range 原因是 我正在处理数据库中的无限日期范围 如果你拉一个infinty从 Postgres 中取出日期时间 你会得到一个Float INFINITY在红宝石中 问题是 我无法使用Float I
  • gets、gets.chomp 和 gets.chomp 之间的区别!?

    这三者有什么区别 gets 它得到一行带有 n gets chomp 它得到一行 但删除 n 那是对的吗 关于什么gets chomp gets http www ruby doc org core 2 1 0 Kernel html me
  • sleep 0 有特殊含义吗?

    我看到很多用法sleep 0在我的一个客户项目中 代码看起来像这样 while true sleep 0 end 阅读一些像这样的答案this https stackoverflow com questions 3727420 signif
  • Rails 中的 PDF 导出

    我需要将包含一些图表的 HTML 页面导出为 PDF 有哪些好的 gem 可以做到这一点 PDFKit http railscasts com episodes 220 pdfkit http railscasts com episodes

随机推荐

  • 动态文件下载,无需在服务器中保存文件

    我正在使用 Apache POI 库对多个 excel 文件执行一些操作 我正在尝试下载 Excel 报告而不将其存储在服务器中的某个位置 我正在使用 Struts 2 它需要将文件输入到InputStream而 POI 工作簿需要Outp
  • Android“Hello World”教程程序。错误:[解析错误] 解析包时出现问题

    今天我决定开始为 Android 操作系统进行开发 我访问了他们的网站 下载了所有必需的软件 Eclipse Android SDK Eclipse 的 ADT 插件等 我按照提供的 Hello World 教程进行操作 链接文本 http
  • 使用媒体查询调整图像大小

    好的 我正在使用 bootstrap 3 和 Quicksand js 制作一个可过滤的投资组合 我正在使用流沙来过滤投资组合 现在 当我的图像设置宽度和高度时 我的工作正常 但是当我将宽度和高度更改为 100 时 排序很奇怪 图像在排序时
  • 如何在plotly中绘制饼图?

    如何在 fig 中绘制 pie1 子图 使其位于 第一个 位置 我就是这样做的 但没有成功 import pandas as pd import numpy as np import seaborn as sns import plotly
  • 如何将命名管道字符串从非托管代码空间发送到托管代码空间?

    我似乎遇到了命名管道 101 问题 我有一个非常简单的设置来连接从 C 非托管应用程序传输到 C 托管应用程序的单工命名管道 管道已连接 但我无法通过管道发送 消息 除非我关闭似乎刷新缓冲区并传递消息的句柄 就好像消息被屏蔽了一样 我尝试颠
  • 发生未处理的异常:开发服务器仅支持每个构建本地化单个区域设置

    请告知如何修复此错误 我正在尝试实现本地化 但遇到了此问题 我使用的指南 https angular io guide i18n merge translations into the app https angular io guide
  • Django 调试工具栏仅适用于管理部分

    嘿 我已经使用 Django 1 2 1 一段时间了 前几天遇到了 Django 调试工具栏 它看起来真的很有用 我真的很想尝试一些东西 我完全按照自述文件所说的安装了 一步步 我将中间件放在最后 以防万一出现问题 但我使用的是相当标准的中
  • 使用递归对数字求和

    我刚刚研究了递归的概念 我想尝试一个简单的例子 在下面的代码中 我尝试获取数字 1 2 3 4 5 并使用递归将它们加在一起 我预计结果是 15 但我的代码返回 16 我究竟做错了什么 Code static void Main strin
  • Terraform 13,根据另一个变量的值验证变量

    有没有办法实现以下逻辑 variable environment description The environment this will be run in can only be set to preprod test prod ty
  • file_get_contents:无法设置本地证书链文件

    我们使用 Composer 来升级 Satis 的依赖项 最近的服务器升级后 我们无法这样做 缩小可能的原因后 我们发现 file get contents php 函数在尝试建立 ssl 连接时失败 我们使用以下脚本来测试我们的 ssl
  • 使用 pandas 将一列字典拆分/分解为单独的列

    我的数据保存在postgreSQL数据库 我正在使用 Python2 7 查询这些数据并将其转换为 Pandas DataFrame 但是 该数据帧的最后一列内部有一个值字典 数据框df看起来像这样 Station ID Pollutant
  • 3D 空间:使用鼠标指针沿着对象指向的方向

    给定相机面向的方向的 3D 向量以及 3D 空间中 3D 对象的方位 方向向量 如何计算鼠标指针在屏幕上必须遵循的 2 维斜率 以便在视觉上沿着所述物体的方向移动 基本上 我希望能够单击箭头并通过拖动它来使其前后移动 但前提是鼠标指针沿着箭
  • 从 shell 脚本内的 php 脚本检索退出状态

    我有一个 bash shell 脚本 它调用一些像这样的 PHP 脚本 bin bash php f somescript php php f anotherscript php 我想根据这些脚本的结果编写错误日志和 或活动报告 有什么方法
  • 从 Jenkins 运行 Robot Framework 测试时,浏览器永远不会打开

    我正在尝试在我的 OSX 笔记本电脑上运行 Jenkins 的 RF Selenium2Library 测试 Jenkins 默认安装为用户 jenkins 我安装了 Jenkins 的 RF 插件并设置了环境变量 一切正常 除了浏览器永远
  • 如何将当前行与r中所有以前的行进行比较

    我在 r 中有一个数据框 No value time 1 2 12 2 4 23 3 6 13 4 8 8 5 10 13 6 12 24 我想要的数据框是 No value time flag 1 2 12 0 NA 2 4 23 0 4
  • git 的“文件模式”是什么?

    什么是 gitfilemode 对我来说 它在每个仓库中 git config文件 靠近顶部 core filemode true 它是什么 这是什么意思 与以下有什么关系吗 bare false 我也不太明白 A git 裸仓库 详细信息
  • Heroku 无法将我的 Laravel 应用程序识别为 PHP 应用程序,并且不进行 Composer 安装

    我正在尝试在 Heroku 上发布我的 Laravel 应用程序 我已从 gitignore中排除了composer lock文件 并创建了一个包含 web vendor bin heroku php apache2 public 我创建了
  • 两个具有相同 id 的 XML 元素

    我试图以完全相同的方式修改两个 TextView 我想我可以给它们相同的 id 并使用 findViewById 和 setText 方法在两行中更改这些 TextView 但似乎只有一个 TextView 发生了变化 有没有办法做到这一点
  • 向量化函数 (Python)

    我是 python 新手 尝试进行硬件分配 但它不断向我抛出此错误 在 iPython Notebook 中 TypeError unsupported operand type s for or pow list and float 这是
  • Ruby - 将数组映射到哈希图

    我有一个数组和一个返回给定值的函数 最终我想创建一个哈希映射 将数组的值作为键值 将 f key value 的结果作为值 是否有一种干净 简单的方法 例如类似于数组的each map 使用块来执行此操作 所以相当于 hsh 1 2 3 4