⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 14 - computing set operations on arrays.rb

📁 O Reilly Ruby Cookbook source code
💻 RB
字号:
#Union[1,2,3] | [1,4,5]            # => [1, 2, 3, 4, 5]#Intersection[1,2,3] & [1,4,5]            # => [1]#Difference[1,2,3] - [1,4,5]            # => [2, 3]#---require 'set'a = [1,2,3]b = [3,4,5]a.to_set ^ b.to_set          # => #<Set: {5, 1, 2, 4}>(a | b) - (a & b)            # => [1, 2, 4, 5]#---array = [1,2,3]set = [3,4,5].to_setset & array                 # => #<Set: {3}>array & set                 # TypeError: cannot convert Set into Array#---[3,3] & [3,3]               # => [3][3,3] | [3,3]               # => [3][1,2,3,3] - [1]             # => [2, 3, 3][1,2,3,3] - [3]             # => [1, 2][1,2,3,3] - [2,2,3]         # => [1]#---u = [:red, :orange, :yellow, :green, :blue, :indigo, :violet]a = [:red, :blue]u - a                   # => [:orange, :yellow, :green, :indigo, :violet]#---def natural_numbers_except(exclude)  exclude_map = {}  exclude.each { |x| exclude_map[x] = true }   x = 1  while true    yield x unless exclude_map[x]    x = x.succ  endendnatural_numbers_except([2,3,6,7]) do |x| break if x > 10 puts xend# 1# 4# 5# 8# 9# 10#---module Enumerable  def cartesian(other)    res = []    each { |x| other.each { |y| res << [x, y] } }    return res  endend[1,2,3].cartesian(['a',5,6])# => [[1, "a"], [1, 5], [1, 6], # =>  [2, "a"], [2, 5], [2, 6],# =>  [3, "a"], [3, 5], [3, 6]]#---module Enumerable  def cartesian(other)    inject([]) { |res, x| other.inject(res) { |res, y| res << [x,y] } }  endend#---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -