mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	Alias Set#=== to #include?
* set.rb (Set#===): Added via [Feature #13801] by davidarnold. Closes #1673. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									b40a9475db
								
							
						
					
					
						commit
						2aee703e7a
					
				
					 5 changed files with 49 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								NEWS
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								NEWS
									
										
									
									
									
								
							|  | @ -149,6 +149,7 @@ with all sufficient information, see the ChangeLog file or Redmine | |||
| 
 | ||||
| * Set | ||||
|   * Add Set#to_s as alias to #inspect [Feature #13676] | ||||
|   * Add Set#=== as alias to #inspect [Feature #13801] | ||||
| 
 | ||||
| * WEBrick | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										17
									
								
								lib/set.rb
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								lib/set.rb
									
										
									
									
									
								
							|  | @ -475,6 +475,23 @@ class Set | |||
|     @hash.eql?(o.instance_variable_get(:@hash)) | ||||
|   end | ||||
| 
 | ||||
|   # Returns true if obj is a member of the set, and false otherwise. | ||||
|   # | ||||
|   # Used in case statements: | ||||
|   # | ||||
|   #   case :apple | ||||
|   #   when Set[:potato, :carrot] then 'vegetable' | ||||
|   #   when Set[:apple, :banana]  then 'fruit' | ||||
|   #   end | ||||
|   #   #=> "fruit" | ||||
|   # | ||||
|   # Or by itself: | ||||
|   # | ||||
|   #   Set[1, 2, 3] === 2 #=> true | ||||
|   #   Set[1, 2, 3] === 4 #=> false | ||||
|   # | ||||
|   alias === include? | ||||
| 
 | ||||
|   # Classifies the set by the return value of the given block and | ||||
|   # returns a hash of {value => set of elements} pairs.  The block is | ||||
|   # called once for each element of the set, passing the element as | ||||
|  |  | |||
							
								
								
									
										7
									
								
								spec/rubyspec/library/set/case_equality_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								spec/rubyspec/library/set/case_equality_spec.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | |||
| require File.expand_path('../../../spec_helper', __FILE__) | ||||
| require File.expand_path('../shared/include', __FILE__) | ||||
| require 'set' | ||||
| 
 | ||||
| describe "Set#===" do | ||||
|   it_behaves_like :set_include, :=== | ||||
| end | ||||
|  | @ -0,0 +1,7 @@ | |||
| require File.expand_path('../../../../spec_helper', __FILE__) | ||||
| require File.expand_path('../shared/include', __FILE__) | ||||
| require 'set' | ||||
| 
 | ||||
| describe "SortedSet#===" do | ||||
|   it_behaves_like :sorted_set_include, :=== | ||||
| end | ||||
|  | @ -200,6 +200,23 @@ class TC_Set < Test::Unit::TestCase | |||
|     assert_equal(false, set.include?(true)) | ||||
|   end | ||||
| 
 | ||||
|   def test_eqq | ||||
|     set = Set[1,2,3] | ||||
| 
 | ||||
|     assert_equal(true, set === 1) | ||||
|     assert_equal(true, set === 2) | ||||
|     assert_equal(true, set === 3) | ||||
|     assert_equal(false, set === 0) | ||||
|     assert_equal(false, set === nil) | ||||
| 
 | ||||
|     set = Set["1",nil,"2",nil,"0","1",false] | ||||
|     assert_equal(true, set === nil) | ||||
|     assert_equal(true, set === false) | ||||
|     assert_equal(true, set === "1") | ||||
|     assert_equal(false, set === 0) | ||||
|     assert_equal(false, set === true) | ||||
|   end | ||||
| 
 | ||||
|   def test_superset? | ||||
|     set = Set[1,2,3] | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 knu
						knu