31 lines
409 B
Go
31 lines
409 B
Go
package object
|
|
|
|
type Null struct{}
|
|
|
|
func (n *Null) Bool() bool {
|
|
return false
|
|
}
|
|
|
|
func (n *Null) Type() Type {
|
|
return NullType
|
|
}
|
|
|
|
func (n *Null) Inspect() string {
|
|
return "null"
|
|
}
|
|
|
|
func (n *Null) String() string {
|
|
return n.Inspect()
|
|
}
|
|
|
|
func (n *Null) LogicalNot() Object {
|
|
return &Boolean{!n.Bool()}
|
|
}
|
|
|
|
func (n *Null) Compare(other Object) int {
|
|
if _, ok := other.(*Null); ok {
|
|
return 0
|
|
}
|
|
return 1
|
|
}
|