我正试图使用Pharo将十进制数转换为二进制数,但我在递归消息方面遇到了问题。我想我可以对值进行字符串连接,这样当我给它值5时,我会得到101
,但我得到了一个神秘的错误。我将这个添加到SmallInteger类中。有人有什么建议吗?
errorNotIndexable
"Create an error notification that the receiver is not indexable."
self error: ('Instances of {1} are not indexable' format: {self class name})
decimalBinary
self >= 1
ifTrue: [(self % 2) asStringWithCommas ,
(self // 2) decimalBinary.].
self error: 'Not valid for negative integers'
试试这个(Integer>#SmallInteger(
decimalBinary
| b |
b := ''.
self >= 1 ifTrue: [
b := (self % 2) asString, ((self // 2) decimalBinary) asString].
^b
游戏中的
| a |
a := 5.
5 decimalBinary