Ruby 中的每个方法和收集方法有什么不同[重复]

2023-11-27

从这段代码我不知道这两种方法之间的区别,collect and each.

a = ["L","Z","J"].collect{|x| puts x.succ} #=> M AA K 
print  a.class  #=> Array

b = ["L","Z","J"].each{|x| puts x.succ} #=> M AA K
print  b.class #=> Array

Array#each接受一个数组并将给定的块应用于所有项目。它不会影响数组或创建新对象。这只是循环项目的一种方式。它还返回自身。

  arr=[1,2,3,4]
  arr.each {|x| puts x*2}

打印 2,4,6,8 并返回 [1,2,3,4] 无论如何

Array#collectArray#map它将给定的代码块应用于所有项目并返回新数组。简单的说'将序列的每个元素投影成新的形式'

  arr.collect {|x| x*2}

返回 [2,4,6,8]

在你的代码中

 a = ["L","Z","J"].collect{|x| puts x.succ} #=> M AA K 

a 是一个数组,但它实际上是一个 Nil 的数组[无,无,无]因为puts x.succ回报nil(尽管它打印出 M A A K)。

And

 b = ["L","Z","J"].each{|x| puts x.succ} #=> M AA K

也是一个数组。但它的值是["L","Z","J"],因为它返回self。

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

Ruby 中的每个方法和收集方法有什么不同[重复] 的相关文章

  • “没有可用的二元红宝石”是什么意思?

    每当我使用rvm install x x x 即使安装成功 我也会收到此警告 No binary rubies available for osx 10 12 x86 64 ruby 2 4 0 Continuing with compil
  • Ruby 中的并行赋值运算符

    我正在查看 Ruby 编程 书中的一个示例 def fib up to max i1 i2 1 1 parallel assignment i1 1 and i2 1 while i1 lt max yield i1 i1 i2 i2 i1
  • 如何向 Time.now 添加两周?

    如何在 Ruby 中向当前 Time now 添加两周 我有一个使用 DataMapper 的小型 Sinatra 项目 在保存之前 我有一个字段填充了当前时间加上两周 但未按需要工作 任何帮助是极大的赞赏 我收到以下错误 NoMethod
  • 如何计算带有偏移量的异或?

    我想用不同的偏移量进行异或计算以在计算中列出 例子 key 0 1 0 text 0 1 0 1 0 1 0 1 1 1 异或计算 key 0 text 0 key 1 text 1 key 2 text 2 key 0 text 3 ke
  • Ruby 枚举器中的“break”与“raise StopIteration”

    如果我使用 Ruby Enumerators 来实现生成器和过滤器 generator Enumerator new do y x 0 loop do y lt lt x x 1 break if x gt CUTOFF end end l
  • Rails 4:资产未在生产中加载

    我正在尝试将我的应用程序投入生产 但图像和 CSS 资源路径不起作用 这是我目前正在做的事情 图像资源位于 app assets images image jpg 样式表位于 app assets stylesheets style css
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • 使用 VCR 过滤敏感数据

    我正在使用 VCR gem 记录 http 交互并在将来重播它们 我想过滤掉 uri 请求中的实际密码值 以下是 uri 的示例 http services somesite com Services asmx Cabins Usernam
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • Rails/Nginx 中的超时——最佳实践

    我正在开发一个应该在 Nginx 服务器上运行的 Rails 应用程序 根据输入 应用程序可能需要很长时间来处理请求 或者在出现错误时挂起 因此我想防止进程永远运行 除了确保客户端收到超时信号的 Nginx 配置之外 我想我可能仍然需要确保
  • “rmagick”gem 安装问题

    我在尝试在 centos 上安装 rmagick gem 时遇到问题 以下是我得到的输出 谁能帮我识别一下我缺少什么包裹 我已经安装了所有提到的另一个堆栈溢出线程 RMagick安装错误 https stackoverflow com qu
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 使用rSpec 测试delayed_job 链的最佳方法是什么?

    目前 当我的代码中有一个延迟方法时 如下所示 CommentMailer delay deliver comments comment true 我在规范中写了这样的内容 dj mock DelayProxy CommentMailer s
  • 使用哈希参数进行 DRY Ruby 初始化

    我发现自己经常在构造函数中使用哈希参数 尤其是在为配置或最终用户将接触到的其他 API 编写 DSL 时 我最终做的是类似以下的事情 class Example PROPERTIES name age PROPERTIES each p a
  • 正则表达式的 o 修饰符是什么意思?

    Ruby 正则表达式有一些选项 例如i x m o i例如 意味着忽略大小写 什么是o选项是什么意思 在ri Regexp 它说o意味着执行 仅插值一次 但是当我这样做时 a one b a a two b不改变 它保持 one 我缺少什么
  • 为 RoR 中的每个用户创建新的 URL 路径

    如何在 Ruby on Rails 中实时创建新的 URL 路径 例如 我希望我的用户拥有 name XXX com 或 XXX com name 仅供参考 我在 Heroku 上托管代码 看看 subdomain fu 插件 https
  • ruby 认为我正在引用顶级常量,即使我指定了完整的命名空间

    在我的应用程序中我有 class User include User Foo end User Foo定义在 app models user foo rb 中 现在我正在使用一个定义自己的库Foo班级 我收到此错误 警告 User Foo
  • ruby on Rails:音频/mp3 内容标题下载

    如何在 ruby rails 中设置下载标题 在 php 中 我为 mp3 下载设置标头 如下所示 header Content Transfer Encoding binary header Content type audio mp3
  • 如何处理 Nokogiri 中的 404 未找到错误

    我正在使用 Nokogiri 来抓取网页 很少有 url 需要猜测 当它们不存在时 会返回 404 未找到错误 有没有办法捕获这个异常 http yoursite page 38475 gt page number 38475 doesn
  • 在 Rails 中本地化嵌套虚拟属性

    怎么可能本地化嵌套虚拟属性在 Rails 中 该模型 class User lt ActiveRecord Base attr accessor company information This is used in callbacks e

随机推荐

  • 使用 Json.NET 反序列化复杂对象

    我需要反序列化从 grogle 地图 api 返回的 json destination addresses Via Medaglie D Oro 10 47121 Forl FC Italia Via Torino 20123 Milano
  • 确定图像是否模糊

    我看到了很多关于这个的话题 我理解了这个理论 但我无法编写代码 我有一些照片 我想确定它们是否模糊 我找到了一个图书馆 aforge dll 我用它来对图像进行 FFT 举个例子 我正在处理两个图像 我的代码是 c public Bitma
  • 画布旋转文本工件

    I use Processing js在图像上显示一些 45 度旋转的文本 问题是 旋转后 文本变得难以阅读 因为伪影变得可见 字母间距不恒定或字母没有相同的底线 这里有一个demo 你可以看到第二个 Hello World 有 签名而不是
  • 使用 Nancy TinyIoC 配置 JsonNetSerializer 和 JsonNetBodyDeserializer

    我对南希来说是个菜鸟 我一直使用它作为生成 REST API 的框架 我熟悉 Json NET 所以我一直在玩Nancy Serialization JsonNet包裹 我的目标 自定义行为 即更改设置 JsonNetSerializer
  • NestedScrollView 中的 ViewPager

    我需要创建一个像 Google Newsstand 这样的界面 它是一种折叠标题 垂直滚动 上的 ViewPager 水平滚动 我的要求之一是使用 Google IO 2015 上提出的新设计支持库 http android develop
  • foo.bar() 和 bar(foo) 之间的区别?

    考虑 class Parent def init self last name eye color self last name last name self eye color eye color def show info self p
  • GWT:字符编码变音

    我想在标签中设置文本 labelDemnaechst setText Demn chst f llig 在应用程序的输出中 字符 显示错误 怎样才能很好地展示它们呢 GWT 假设所有源文件都以 UTF 8 编码 这就是为什么你会看到l sc
  • 在复制初始化中,对复制构造函数的调用是显式的还是隐式的?

    class AAA public explicit AAA const AAA AAA int int main AAA a 1 return 0 在上面的代码中 据我了解 尽管在大多数情况下被省略 但在语义上仍然需要调用复制构造函数 我的
  • 如何在不创建工作区的情况下从 tfs 获取特定版本的文件夹?

    我想在特定时间获取项目的源代码 变更集 所以我需要下载整个文件夹 我想在不同的时间执行此操作 并且处理不同的工作空间不是很方便 我知道关于TFS 将特定版本获取到单独的文件夹中 带工作区 和需要命令在没有工作区的情况下从 TFS 获取文件
  • 在 WPF 中绘制 3D 线条

    我正在开发 CAD 应用程序 并考虑使用 WPF 来渲染我的实体 但WPF似乎不支持绘制3D线条 有没有办法在WPF中绘制3D线条 我不喜欢为我需要绘制的每个线实体创建一个网格 因为我担心这会给我带来重大的性能问题 因为我必须在我的应用程序
  • 如何在Spring MVC中的@controllerAdvice或@RestControllerAdvice中查找控制器名称?

    ControllerAdvice public class GlobalExceptionHandler ExceptionHandler NoHandlerFoundException class public ResponseEntit
  • Bjarne Stroustrup 说我们必须避免链表

    我在 YouTube 上看到了这个视频 https www youtube com watch v YQs6IC vgmoBjarne 表示最好使用向量 而不是链表 我无法理解整个事情 所以有人可以用通俗的语言解释他在说什么吗 P S 我是
  • 如何使用 IBOutletCollection 将多个 UIImageView 连接到同一个插座?

    我有 10 个 UIImageViews 做同样的事情 它们有一些用计时器改变图像的 void 方法 我的 UIImageView 是一个插座 我想将所有 10 个 imageView 连接到同一个插座 但界面生成器不允许我这样做 我发现有
  • 如何修复 Plesk 中的 FastCGI 超时问题?

    PHP 支持当前设置为 作为 Fast CGI 运行 我的服务器日志中不断收到这些错误 mod fcgid 45秒内读取数据超时 脚本标头过早结束 index php 我认为应该快速修复 但我找不到要编辑的文件 这是我可以从 Plesk 更
  • firebase Analytics:Android 应用程序卸载统计信息

    我安装了 Firebase SDK 并将以下两行添加到 MainActivity java private FirebaseAnalytics mFirebaseAnalytics mFirebaseAnalytics FirebaseAn
  • html 正文小于其内容

    这是一个基本的插图问题的
  • 在 R 图中的 x 轴下方添加箭头

    我正在尝试在 R 图中的 x 轴下方添加标记特定 x 坐标的箭头 我的 x 轴位于 y 0 并且当我尝试在中使用负 y 坐标时arrows 因此箭头将垂直于 x 轴 我只绘制了箭头的边缘 尽管有一些空间 例如绘制 x 轴标签和刻度线的位置
  • 使用 FullAjaxExceptionHandler 时 h:body 不会重新渲染

    我正在使用 OmniFacesFullAjaxExceptionHandler显示错误页面 错误页面显示正确 但我在这些页面的样式方面遇到问题 我的应用程序使用的模板在 body 元素上定义了 CSS 类 这些类对于正常页面和错误页面是不同
  • Struts 中的控制器

    MVC 中的控制器是什么 Is it struts xml or Servlet 动作类 我们可以有多个吗Controller在我们的应用程序中 拥有多个控制器是一种好的做法吗 在 Struts 中 应用程序控制器层代码 功能分为两部分 A
  • Ruby 中的每个方法和收集方法有什么不同[重复]

    这个问题在这里已经有答案了 从这段代码我不知道这两种方法之间的区别 collect and each a L Z J collect x puts x succ gt M AA K print a class gt Array b L Z