$
operator. This method is never called explicitly, but through an indirect
usage of the $
operator, e.g. obj$name
or
obj$getValue()
. 1) This method will first search for a get
method, e.g. if
name has the value "age"
, a getAge()
will be looked for.
If such a method exists it will be called with the Object as the first
and only argument, e.g. getAge(this)
.
A get
is only looked for if
is not a private
field. A private field is a name beginning with a .
(period). The rational for this naming convention is to be consistent
with how ls
() works, which will not list such members
by default.
2) If no such method exists, first then, this method will look a field in
the Object can has the name name
.
3) If such neither exists, a method with name name
will be
searched for and returned.
4) Otherwise, a static field will be looked for.
5) If no fields or methods are found at all, NULL
is returned.
"$"(this, name) "[["(this, name)
Object
.