1 soyo@soyo-ThinkPad-X1:~$ irb 2 2.4.1 :001 > require 'set' 3 => true 4 2.4.1 :002 > Set.new [1,2] 5 => #<Set: {1, 2}> 6 2.4.1 :003 > s =_ 7 => #<Set: {1, 2}> 8 2.4.1 :004 > s.add('foo') 9 => #<Set: {1, 2, "foo"}> 10 2.4.1 :005 > b =Set.new[2,3,4] 11 NoMethodError: undefined method `[]' for #<Set: {}> 12 from (irb):5 13 from /home/soyo/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>' 14 2.4.1 :006 > b = Set.new [2,3,4] 15 => #<Set: {2, 3, 4}> 16 2.4.1 :007 > s & b 17 => #<Set: {2}> 18 2.4.1 :008 > s |b 19 => #<Set: {1, 2, "foo", 3, 4}> 20 2.4.1 :009 > s <=b 21 => false 22 2.4.1 :010 > b <= s 23 => false 24 2.4.1 :011 > c = Set.new [2,3] 25 => #<Set: {2, 3}> 26 2.4.1 :012 > c <= b 27 => true
實際運用中,set的做用:
兩個集合的交集,並集,子集ruby
範圍 區間兩大做用:取值 ,判斷是否在區間 soyo@soyo-ThinkPad-X1:~$ irb 2.4.1 :001 > r = 1..2 => 1..2 2.4.1 :002 > r.include?(2) => true 2.4.1 :003 > a = [1,2,3,4] => [1, 2, 3, 4] 2.4.1 :004 > a [1..2] => [2, 3] 2.4.1 :005 >