迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Ruby 中使用 inject 注入方法

作者:迹忆客 最近更新:2023/03/20 浏览次数:

本文将演示 Ruby 中 inject 方法的不同用途。

Ruby 中注入方法的语法

inject 方法采用一个包含两个参数的块。第一个参数是一个累加器,即被计算表达式的总和,第二个参数是当前数组项。

语法:

inject (initial_value) { |accumulator, array_item| expression }

在 Ruby 中使用 Inject 方法对数组求和

示例代码:

numbers = [5, 6, 7, 8]
sum = numbers.inject (0) { |result, item| result + item }
puts sum

输出:

26

在上面的示例中,初始值为 0。

累加器存储在 result 变量中,每次迭代都会更新,它是 result + item 的结果。item 变量是当前数组值。

使用 Ruby 中的 Inject 方法从数组构建哈希

示例代码:

students = [["John", "Grade 2"], ["Michael", "Grade 3"], ["Stephen", "Grade 4"]]
students_hash = students.inject({}) do |result, item|
  result[item.first] = item.last
  result
end

p students_hash

输出:

{"John"=>"Grade 2", "Michael"=>"Grade 3", "Stephen"=>"Grade 4"}

上面的示例将嵌套数组转换为键值哈希,使用每个数组项的第一个元素作为键,第二个元素作为值。

这里的初始累加器值是一个空哈希 {}

在 Ruby 中使用 Inject 方法过滤数组

示例代码:

numbers = [1, 2, 3, 4, 5, 6, 7]
even_numbers = numbers.inject([]) do |result, element|
  result << element if element.even?
  result
end

p even_numbers

输出:

[2, 4, 6]

上面的示例构建了一个新数组并用 numbers 数组中的偶数填充它。

这里的初始值是一个空数组 []

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

用 Ruby 解析 XML

发布时间:2023/03/21 浏览次数:112 分类:编程语言

本文展示了如何在 Ruby 中使用 gem nokogiri 解析 XML 文件。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便