# HG changeset patch # User Claus Gittinger # Date 1563688488 -7200 # Node ID bcff47993be2f07c091b8974b79cb10546c2a8b3 # Parent 25c83a19bafc72869d586f69415812c7187230b7 #DOCUMENTATION by cg class: Character comment/format in: #digitValue diff -r 25c83a19bafc -r bcff47993be2 Character.st --- a/Character.st Fri Jul 19 21:32:37 2019 +0200 +++ b/Character.st Sun Jul 21 07:54:48 2019 +0200 @@ -1457,25 +1457,31 @@ ! digitValue - "return my digitValue for any base (up to 37)" + "return my digitValue for any base (up to 37). + Notice: in case of an invalid character, + ST/X is not X3J20 conform: + ST/X raises an error, + X3J20 returns -1" |code "{ Class: SmallInteger }" | code := asciivalue. (code between:($0 codePoint) and:($9 codePoint)) ifTrue:[ - ^ code - $0 codePoint + ^ code - $0 codePoint ]. (code between:($a codePoint) and:($z codePoint)) ifTrue:[ - ^ code + (10 - $a codePoint) + ^ code + (10 - $a codePoint) ]. (code between:($A codePoint) and:($Z codePoint)) ifTrue:[ - ^ code + (10 - $A codePoint) + ^ code + (10 - $A codePoint) ]. "remove error below for X3J20 conformance ... " self error:'bad character'. " " ^ -1 + + "Modified (comment): / 21-07-2019 / 07:54:30 / Claus Gittinger" ! digitValueRadix:base