知道某些东西是否是布尔的最佳方法

Ber*_*osa 1 smalltalk

询问对象是否是布尔值的最佳方法是什么?

根据要求,原因如下:

我有一个打印东西,任何东西的方法,当这个东西是布尔值时,我希望它打印"是"或"否"而不是真或假.我是这样做的,但它看起来像是对我的黑客攻击:

[anObject
    ifTrue: [ 'Yes' ]
    ifFalse: [ 'No' ] ] 
        on: Error 
        do: [ anObject printString ]
Run Code Online (Sandbox Code Playgroud)

Ran*_*rtz 5

添加您自己的printString定义:

Object >> #bernatPrintString
  ^self printString

True >> #bernatPrintString
  ^'Yes'

False >> #bernatPrintString
  ^'No'
Run Code Online (Sandbox Code Playgroud)