The Trunk: Collections-ul.641.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Collections-ul.641.mcz

commits-2
Levente Uzonyi uploaded a new version of Collections to project The Trunk:
http://source.squeak.org/trunk/Collections-ul.641.mcz

==================== Summary ====================

Name: Collections-ul.641
Author: ul
Time: 14 August 2015, 6:59:54.138 pm
UUID: c373bfdf-0a07-40c8-8505-75c157cbb352
Ancestors: Collections-ul.640

Character:
- even faster #isSeparator
- class side #initialize sends #initializeClassificationTable
- atomic class side #initializeDigitValues

String:
- renamed #includesSubString: to #includesSubstring:
- deprecated #includesSubString:

General:
#includesSubString: -> #includesSubstring:

=============== Diff against Collections-ul.640 ===============

Item was changed:
  ----- Method: Character class>>initialize (in category 'class initialization') -----
  initialize
- "Create the DigitsValues table."
  "Character initialize"
+
+ self
+ initializeClassificationTable;
+ initializeDigitValues!
- self initializeDigitValues!

Item was changed:
  ----- Method: Character class>>initializeDigitValues (in category 'class initialization') -----
  initializeDigitValues
  "Initialize the well known digit value of ascii characters.
  Note that the DigitValues table is 1-based while ascii values are 0-based, thus the offset +1."
 
+ | newDigitValues |
+ newDigitValues := Array new: 256 withAll: -1.
- DigitValues := Array new: 256 withAll: -1.
  "the digits"
+ 0 to: 9 do: [:i | newDigitValues at: 48 + i + 1 put: i].
- 0 to: 9 do: [:i | DigitValues at: 48 + i + 1 put: i].
  "the uppercase letters"
+ 10 to: 35 do: [:i | newDigitValues at: 55 + i + 1 put: i].
- 10 to: 35 do: [:i | DigitValues at: 55 + i + 1 put: i].
  "the lowercase letters"
+ 10 to: 35 do: [:i | newDigitValues at: 87 + i + 1 put: i].
+ DigitValues := newDigitValues!
- 10 to: 35 do: [:i | DigitValues at: 87 + i + 1 put: i].!

Item was changed:
  ----- Method: Character>>isSeparator (in category 'testing') -----
  isSeparator
  "Answer whether the receiver is one of the separator characters--space,
  cr, tab, line feed, or form feed."
 
  | integerValue |
+ (integerValue := self asInteger) > 32 ifTrue: [ ^false ].
+ integerValue
+ caseOf: {
+ [ 32 "space" ] -> [ ^true ].
+ [ 9 "cr" ] -> [ ^true ].
+ [ 13 "tab"] -> [ ^true ].
+ [ 10 "line feed" ] -> [ ^true ] }
+ otherwise: [ ^integerValue = 12 "form feed" ]!
- (integerValue := self asInteger) = 32 ifTrue: [ ^true ]. "space"
- integerValue = 9 ifTrue: [ ^true ]. "tab"
- integerValue = 13 ifTrue: [ ^true ]. "cr"
- integerValue = 10 ifTrue: [ ^true ]. "line feed"
- ^integerValue = 12 "form feed"!

Item was changed:
  ----- Method: Collection>>includesSubstringAnywhere: (in category 'testing') -----
  includesSubstringAnywhere: testString
  "Answer whether the receiver includes, anywhere in its nested structure, a string that has testString as a substring"
  self do:
  [:element |
  (element isString)
  ifTrue:
+ [(element includesSubstring: testString) ifTrue: [^ true]].
- [(element includesSubString: testString) ifTrue: [^ true]].
  (element isCollection)
  ifTrue:
  [(element includesSubstringAnywhere: testString) ifTrue: [^ true]]].
  ^ false
 
  "#(first (second third) ((allSentMessages ('Elvis' includes:)))) includesSubstringAnywhere:  'lvi'"!

Item was changed:
  ----- Method: String>>findTokens:includes: (in category 'accessing') -----
  findTokens: delimiters includes: subString
  "Divide self into pieces using delimiters.  Return the piece that includes subString anywhere in it.  Is case sensitive (say asLowercase to everything beforehand to make insensitive)."
 
  ^ (self findTokens: delimiters)
+ detect: [:str | (str includesSubstring: subString)]
- detect: [:str | (str includesSubString: subString)]
  ifNone: [nil]!

Item was changed:
  ----- Method: String>>includesSubString: (in category 'testing') -----
  includesSubString: subString
+
+ self deprecated: 'Use #includesSubstring: instead.'.
+ ^self includesSubstring: subString!
- ^ (self findString: subString startingAt: 1) > 0!

Item was added:
+ ----- Method: String>>includesSubstring: (in category 'testing') -----
+ includesSubstring: aString
+
+ ^(self findString: aString startingAt: 1) > 0!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Collections-ul.641.mcz

marcel.taeumel
+1 ! This specific capital S has bugged me quite a bit... :D

Best,
Marcel