Ruby 中的“map”方法有什么作用?

2023-11-29

什么是.map do in:

params = (0...param_count).map

The map方法接受一个可枚举对象和一个块,并为每个元素运行块,输出块中的每个返回值(原始对象不会改变,除非您使用map!):

[1, 2, 3].map { |n| n * n } #=> [1, 4, 9]

Array and Range是可枚举类型。mapwith 块返回一个数组。map!改变原始数组。

这有什么帮助,有什么区别map! and each?这是一个例子:

names = ['danil', 'edmund']

# here we map one array to another, convert each element by some rule
names.map! {|name| name.capitalize } # now names contains ['Danil', 'Edmund']

names.each { |name| puts name + ' is a programmer' } # here we just do something with each element

输出:

Danil is a programmer
Edmund is a programmer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 中的“map”方法有什么作用? 的相关文章

  • 我可以在 render.js 上执行的视图中使用 CoffeeScript 吗?

    我需要做什么才能在 Rails JS 视图中使用 CoffeeScript 例如 def index format js render layout gt false end 我需要做什么才能让 Rails 使用index js coffe
  • 如何使用多个 { 'not find' } 来干燥方法?

    我正在尝试优雅地处理以下错误的 JSON 其中Hash fetch似乎不是一个选择 使用 Hash fetch 优雅地处理错误的 JSON https stackoverflow com questions 25193627 handle
  • 将元数据添加到 PDF

    我需要将元数据添加到我正在创建的 PDF 中prawn http rubygems org gems prawn 该元数据稍后可能会被提取 pdf阅读器 http rubygems org gems pdf reader 该元数据将包含内部
  • Rails:如何重新启动 sidekiq?

    我正在使用 sidekiq gem 在后台运行 API 调用 我在守护进程中运行 sidekiq 如下所示 bundle exec sidekiq d 现在我对我的方法做了一些更改 所以我想重新启动 sidekiq 我尝试使用以下命令杀死
  • 错误 - 迭代期间无法将新密钥添加到哈希中

    我是 ruby 新手 正在使用 gem 来访问英国卫报开放平台的一些数据 contentapi ruby 运行测试示例时 我不断收到错误 TestSearchContent RuntimeError can t add a new key
  • ActiveSupport::JSON 解码哈希丢失符号

    我正在尝试序列化和反序列化哈希 当散列被解除序列化时 密钥被解除符号化 例如不是更多 一 而是 一 从 Rails 控制台 gt gt h one gt 1 two gt two one gt 1 two gt two gt gt j Ac
  • 在字典理解中为 locals() 添加下标失败并出现 KeyError [重复]

    这个问题在这里已经有答案了 我对 Python 的奇怪行为感到困惑locals 基本上我想从字典中获取一个项目locals 在字典理解中 但它失败了 这是一个非常基本的事情 所以 gt gt gt foo 123 gt gt gt bar
  • RSpec 与 Shoulda?

    我是单元测试场景的新手 我现在只使用单元测试大约两个月了 当我在 Ruby 中进行单元测试时 我目前遵循 TDD 风格并使用 Test Unit TestCase 我还阅读了 RSpec 以及它如何遵循 BDD 方法 我还读过关于 Shou
  • 正则表达式匹配组,但组成员除外

    因此 有许多正则表达式可以匹配特定的组 如下所示 Any character except a newline m Any character the m modifier enables multiline mode w A word c
  • 安装 gem 失败并出现权限错误[重复]

    这个问题在这里已经有答案了 我昨天将 Mac 操作系统更新至 10 9 Mavericks 我当前的 Ruby 版本显示为 ruby 2 0 0p247 2013 06 27 修订版 41674 universal x86 64 darwi
  • 不使用 RVM 时的 Cron +

    我使用的是RVM环境 RUby 版本 2 1 2 导轨 4 1 1 schedule rb every 1 minute do runner note send mail end I used whenever update crontab
  • Thor 可执行文件 - 忽略任务名称

    雷神维基页面 制作可执行文件 https github com wycats thor wiki Making An Executable 向您展示如何创建由 thor 支持的 CLI 命令 如下所示 bash mythorcommand
  • 没有路线匹配... Rails Engine

    所以我不断收到错误 No route matches action gt create controller gt xaaron api keys 测试中抛出的是 it should not create an api key for th
  • 如何在 Ruby on Rails 中访问控制器中的隐藏字段

    问题 如何访问隐藏字段值post id从文件view comments comment html erb并用在controllers dashboards controller rb 有 2 个控制器 仪表板和评论 并使用gem act a
  • 在Python中将大文件(25k条目)加载到dict中很慢?

    我有一个大约有 25000 行的文件 它是 s19 格式的文件 每行就像 S214780010 00802000000010000000000A508CC78C 像这样的事情怎么样 我做了一个测试文件 只有一行S21478001000802
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • 如何随机打乱地图中的值?

    我有一个 std map 其中键和值均为整数 现在我想随机打乱地图 因此键随机指向不同的值 我尝试了 random shuffle 但它无法编译 请注意 我并没有尝试洗牌键 这对于地图来说没有意义 我正在尝试随机化这些值 我可以将这些值推入
  • 使用 PayPal REST API,如何取消付款?

    使用 PayPal REST API 在客户点击 取消订单并返回网站 链接后 我似乎无法弄清楚如何取消付款 也许在生产模式下 PayPal 会自动取消这些付款 但在沙盒模式下它们似乎仍处于 已创建 状态 这一观察结果使我相信 我需要在返回网
  • Google Drive API 中收到错误 403 - 未经身份验证的使用已超出每日限制。继续使用需要注册

    我正在使用 ruby 的 Google Drive API 并且尝试将文件插入到用户驱动器中 我可以成功插入文件 但是当我尝试获取文件自链接时 这是返回的 URLhttps www googleapis com drive v2 files
  • 将带有两层分隔符的字符串转换为字典 - python

    给定一个字符串 s x t1 ny t2 nz t3 我想转换成字典 sdic x 1 y 2 z 3 我通过这样做让它工作 sdic dict tuple j split t for j in i for i in s split n F

随机推荐

  • @State 和 @StateObject 有什么区别

    我创建了一个这样的模型 import Foundation class Play ObservableObject Published var name String Tayle Published var age Int 12 它将在两个
  • MySQL选择查询以根据列表值获取记录

    我正在使用MySQL 我有 3 个表如下 表 subject Master subjectId subjectShortName 1 English 2 French 3 German 4 Latin 表 class Master clas
  • HighCharts xAxis - 月份的刻度间隔

    我正在尝试绘制样条图通过 失败的测试用例数量并根据它们进行分组小时 日期 月 年我得到这个值作为不规则系列 即 如果是小时 数据将无法在所有 24 小时内可用 其他分组的情况也是如此 由于数据不规则 需要 x 轴刻度间隔为月 已尝试使用 d
  • jquery和bootstrap之间的冲突

    我有一个代码 其中包含 jquery 文件和 bootstrap 文件在 header php 中 我遇到的问题是 如果我在 bootstrap js 文件之前包含 jquery 文件 它会弄乱网页上的其他选项卡 基本上即使我单击其他选项卡
  • 使用循环将输出打印到 Knit 中

    为这个问题道歉 我确信答案很简单 我有几个包含对象的列表 我通过knitr 将它们运行到HTML 中 并希望控制输出的顺序 此代码打印所有 list1 输出 然后打印所有 list1 绘图 然后打印所有 list2 输出 然后打印所有 li
  • 需要 JButton 事件支持

    我最近回答了一个关于如何在另一个类的主方法中打开登录面板的问题 因为我还没有上过任何 Swing 课程 只有基本的 Java 编程 所以我已经偶然发现了另一个问题 我如何检测用户是否按下了 JPanel 中的按钮并使其执行某些操作 例如 用
  • 应用程序在前台运行时收到的 iOS 推送通知

    根据我的理解 当应用程序正在运行或在前台并收到推送通知时 应用程序不应显示任何警报 但应用程序委托将调用didReceiveRemoteNotification委托方法 我应该在该回调中处理推送通知 推送通知应仅在应用程序处于后台时显示警报
  • 在 awk 中使用两个字段分隔符[重复]

    这个问题在这里已经有答案了 我正在尝试用 bash 解析这样的字符串 OPS all 1234 ip port1 name state number id phone 123 zip 123 state AB city seattle OP
  • php 中从右到左的语言支持

    我正在开发一个网站 人们可以用阿拉伯语发表评论 我的网站是用 php 构建的 有谁知道如何添加从右到左的语言支持以用英语编写文本吗 尝试指定在你的标记中 我会读 http www w3 org International tutorials
  • 在Python中,如何在不更改命名空间的情况下以宏样式将一个文件包含(而不是导入)另一个文件中?

    首先我确实了解 导入 当我尝试 导入 时 它不起作用 我想做的是将一个模块分成两部分 其中一个部分可以由一组编辑 而另一个则不能 我希望该小组编写定义明确的 检索函数 而不会受到诱惑或无法编辑运行它们的后端代码 即使是意外 导入 时命名空间
  • Openstack - 更改仪表板的管理员密码

    在哪里可以更改 Openstack 中仪表板的管理员密码 我使用 packstack 安装程序安装了 openstack keystonerc admin 文件中的密码也不起作用 我使用 CentOS 6 3 并且我可以访问配置文件 用户名
  • .NET core - 将连接字符串读入 Entity Framework Core

    我的项目结构非常标准 within EFData EFData是一个 Entity Framework Core 类库 它隔离了所有数据库交互 数据库模型和我的DBContext 我以这种方式构建它 使其与数据库环境无关 API项目当然有参
  • C# 自定义列表框 GUI

    我有一个类列表 但不同的子项有不同的属性需要显示 我想要实现的是在 gui 中拥有一个列表框类型的控件 它使每个子项都可以按照自己想要的方式显示其属性 因此不要为每个类使用相同的预定义列 我设想类似传输界面 如下 的东西 每个类都可以绘制自
  • 在 PIL 中创建棋盘

    背景 我一直在尝试在 PIL 模块中创建一个棋盘 并且已经获得了前两行的一般模式 但无法弄清楚如何将其应用到整个棋盘 正如你所看到的 我创建了一个图像 from PIL import Image img Image new RGB 15 1
  • 导入常量类字段的简称

    我有一个带有数百个配置常量的java程序 public static final String C1 C1 public static final String C2 C2 由于数量太多 我把它们分到一个单独的类中 MyClassConst
  • 将秒转换为天:小时:分钟:秒

    我想将秒转换为小时分钟和秒R Example 86400seconds 1day gmdate d H i s 86400 我就是这样尝试的 你可以尝试 library lubridate seconds to period 86400 1
  • 替换空手道中的 Json 密钥 [重复]

    这个问题在这里已经有答案了 我需要将 Json 发送到端点 但需要用变量替换键 我有这个代码 def idJson response id Given path
  • 自动增量字段在另一个字段更改后重置

    您能否提供一个非常简单的 SQL 示例 说明如何创建一个自动递增的 计数 或 顺序 字段 但在不同字段的每次更改后重新启动 在下表中 每次 餐食 字段发生变化时 订单 字段都会从 1 重新开始 谢谢 用餐 时间 订单午餐 10 30 1午餐
  • 如何在 bash 中对具有特定扩展名的文件递归运行命令?

    我想从根文件夹递归运行命令 这将影响该根文件夹下具有特定扩展名的所有文件 这是命令 blender b03 blend background python myScript py 我想为每个具有 blend 扩展名的文件运行此命令 而不是
  • Ruby 中的“map”方法有什么作用?

    什么是 map do in params 0 param count map The map方法接受一个可枚举对象和一个块 并为每个元素运行块 输出块中的每个返回值 原始对象不会改变 除非您使用map 1 2 3 map n n n gt