[squeak-dev] The Trunk: Collections-ar.310.mcz
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Tue Feb 23 15:58:44 UTC 2010
Good, but why lowercase letters ?
Nicolas
2010/2/23 <commits at source.squeak.org>:
> Andreas Raab uploaded a new version of Collections to project The Trunk:
> http://source.squeak.org/trunk/Collections-ar.310.mcz
>
> ==================== Summary ====================
>
> Name: Collections-ar.310
> Author: ar
> Time: 23 February 2010, 7:16:34.191 am
> UUID: eb685ed0-dba7-d546-b63e-08f76154d027
> Ancestors: Collections-ul.309
>
> Conversions from/to hex representations in ByteArray, for example:
>
> #[122 43 213 7] hex
> => '7a2bd507'
>
> ByteArray readHexFrom: '7a2bd507'
> => #[122 43 213 7]
>
> Similarly these can be used for subclasses, e.g.,
>
> UUID new hex
> => '97c1f2ddf9209948b329319a30c16386'
>
> UUID readHexFrom: '97c1f2ddf9209948b329319a30c16386'
> => 97c1f2dd-f920-9948-b329-319a30c16386
>
>
> =============== Diff against Collections-ul.309 ===============
>
> Item was added:
> + ----- Method: ByteArray>>hex (in category 'converting') -----
> + hex
> + "Answer a hexa decimal representation of the receiver"
> + | string v index map |
> + map := '0123456789abcdef'.
> + string := String new: self size * 2. "hex"
> + index := 0.
> + 1 to: self size do:[:i|
> + v := self at: i.
> + string at: (index := index + 1) put: (map at: (v bitShift: -4) + 1).
> + string at: (index := index + 1) put: (map at: (v bitAnd: 15) + 1).
> + ].
> + ^string!
>
> Item was added:
> + ----- Method: ByteArray>>readHexFrom: (in category 'initialize') -----
> + readHexFrom: aStream
> + "Initialize the receiver from a hexadecimal string representation"
> + | map v ch value |
> + map := '0123456789abcdef'.
> + 1 to: self size do:[:i|
> + ch := aStream next.
> + v := (map indexOf: ch) - 1.
> + (v between: 0 and: 15) ifFalse:[^self error: 'Hex digit expected'].
> + value := v bitShift: 4.
> + ch := aStream next.
> + v := (map indexOf: ch) - 1.
> + (v between: 0 and: 15) ifFalse:[^self error: 'Hex digit expected'].
> + value := value + v.
> + self at: i put: value.
> + ].
> + !
>
> Item was added:
> + ----- Method: ByteArray class>>readHexFrom: (in category 'instance creation') -----
> + readHexFrom: aString
> + "Create a byte array from a hexadecimal representation"
> + ^(self new: aString size // 2) readHexFrom: aString readStream!
>
>
>
More information about the Squeak-dev
mailing list
|