First I define ! method:
scala> def !() = "hi"
$bang: ()java.lang.String
Now I can call it like so:
scala> $bang()
res3: java.lang.String = hi
But this doesnt' work:
scala> !()
<console>:8: error: value unary_! is not a member of Unit
!()
Even this doesn't work:
scala> `!`()
<console>:8: error: value unary_! is not a member of Unit
`!`()
^
What am I doing wrong here? Why am I allowed to define !() when I can't invoke it?
EDIT1
Adding an object reference gives error:
scala> this.!()
<console>:8: error: value ! is not a member of object $iw
this.!()
^
is interpreted as
If you want to call your method, you must specify an explicit receiver, e.g.
or
or