[Ruby笔记]31.ruby set 类型 交、并、补、异或 & + - ^ |

set

  • setRuby的标准库的类;
  • 打开irb使用,需要先写语句 require 'set';

code

  • irb
$ irb --simple-prompt
>> require 'set'
=> true
  • 创建两个集合 ()里面放一个数组即可
>> first = Set.new(["A","B","C","D"])
=> #<Set: {"A", "B", "C", "D"}>
>> second = Set.new(["B","E","F","G"])
=> #<Set: {"B", "E", "F", "G"}>
  • difference
# 去掉两个集合公共部分,返回值是剩下的元素

# first 是 A B C D 
# second 是 B E F G
# 共同部分是 B
>> first - second
=> #<Set: {"A", "C", "D"}>

>> second - first
=> #<Set: {"E", "F", "G"}>
  • 并集
# set是不包含重复元素的
>> first + second
=> #<Set: {"A", "B", "C", "D", "E", "F", "G"}>
  • 交集
#  取出公共部分
>> first & second
=> #<Set: {"B"}>
  • 与 + 号等价
>> first | second
=> #<Set: {"A", "B", "C", "D", "E", "F", "G"}>
  • 异或
# 可以看作是 并集 减去 共同部分
>> first ^ second
=> #<Set: {"E", "F", "G", "A", "C", "D"}>

reference

《The Well-Grounded Rubyist, Second Edition》
(https://www.manning.com/books/the-well-grounded-rubyist-second-edition)
9.5.2.Manipulating set elements

   │
♪~ .⊥.
  (∴∵)
   ~T~
  ┌┴┐
  │ │
  │ │
  /  /
((∠_/
http://emoji.vis.ne.jp/furin1.htm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值