self
Translation status: English reader-locale proof. Term names and code fences follow the en pack; supporting prose may still be English.
Refers to the current instance inside a method.
Aliases: self, this
Syntax: self.<member>
Category#
object
Related#
Examples#
radix/corpus/ego/ego.fab (canonical · keyword)#
Refers to the current instance inside a method.
# =============================================================================
# ego — Refers to the current instance inside a method.
# =============================================================================
#
# What this teaches:
# • Self-reference — `ego.<member>` accesses the current instance's fields and methods inside a class method.
# • Method definition — functions defined inside a class block receive the instance as `ego`.
#
# Common mistakes:
# • Using `ego` outside a class method — `ego` is only valid inside methods defined on a class (SEM008).
#
# See also: static, class
# =============================================================================
# ego — current class instance reference
#
# ego.<field>
#
# GRAMMAR:
# memberExpr inside class method :← 'ego' '.' ident
#
# EXPECTED OUTPUT:
# capsa: prima
class Capsa {
var string titulus
fn narra() → string {
# ego = the receiver instance
return "capsa: " + self.titulus
}
}
main {
const Capsa capsa ← Capsa { titulus = "prima" }
print capsa.narra()
}Expected output:
capsa: prima