Character.st
changeset 24444 bcff47993be2
parent 24296 61c0d93e30da
child 24445 b8723c1b7335
equal deleted inserted replaced
24443:25c83a19bafc 24444:bcff47993be2
  1455      (Character value:16r03B1) asUppercase
  1455      (Character value:16r03B1) asUppercase
  1456     "
  1456     "
  1457 !
  1457 !
  1458 
  1458 
  1459 digitValue
  1459 digitValue
  1460     "return my digitValue for any base (up to 37)"
  1460     "return my digitValue for any base (up to 37).
       
  1461      Notice: in case of an invalid character,
       
  1462              ST/X is not X3J20 conform:
       
  1463                 ST/X raises an error,
       
  1464                 X3J20 returns -1"
  1461 
  1465 
  1462     |code "{ Class: SmallInteger }" |
  1466     |code "{ Class: SmallInteger }" |
  1463 
  1467 
  1464     code := asciivalue.
  1468     code := asciivalue.
  1465     (code between:($0 codePoint) and:($9 codePoint)) ifTrue:[
  1469     (code between:($0 codePoint) and:($9 codePoint)) ifTrue:[
  1466 	^ code - $0 codePoint
  1470         ^ code - $0 codePoint
  1467     ].
  1471     ].
  1468     (code between:($a codePoint) and:($z codePoint)) ifTrue:[
  1472     (code between:($a codePoint) and:($z codePoint)) ifTrue:[
  1469 	^ code + (10 - $a codePoint)
  1473         ^ code + (10 - $a codePoint)
  1470     ].
  1474     ].
  1471     (code between:($A codePoint) and:($Z codePoint)) ifTrue:[
  1475     (code between:($A codePoint) and:($Z codePoint)) ifTrue:[
  1472 	^ code + (10 - $A codePoint)
  1476         ^ code + (10 - $A codePoint)
  1473     ].
  1477     ].
  1474 
  1478 
  1475 "remove error below for X3J20 conformance ... "
  1479 "remove error below for X3J20 conformance ... "
  1476     self error:'bad character'.
  1480     self error:'bad character'.
  1477 " "
  1481 " "
  1478     ^ -1
  1482     ^ -1
       
  1483 
       
  1484     "Modified (comment): / 21-07-2019 / 07:54:30 / Claus Gittinger"
  1479 !
  1485 !
  1480 
  1486 
  1481 digitValueRadix:base
  1487 digitValueRadix:base
  1482     "return my digitValue for base.
  1488     "return my digitValue for base.
  1483      Return nil, if it is not a valid character for that base"
  1489      Return nil, if it is not a valid character for that base"