4 ms·
Trying to update a field from a subclass and print the results doesn’t work. class A { name { _name } name=(value){ _name
by reactordev 1y ago
Trying to update a field from a subclass and print the results doesn’t work.
class A {
name {
_name
}
name=(value){
_name=value
}
construct new () {
_name = "hello"
}
thing() {
System.print(name)
}
}
class B is A {
construct new () {}
update(name){
super.name = name
return this
}
}
var b = B.new()
b.update("world").thing()
If you change System.print(name) to System.print(_name) it works but it doesn’t when using the getter. You get null when System.print(name) is called.
Same if you use this.name
- pansa2 1y agoYour `name` getter isn't working properly. Weirdly, Wren's implicit returns only work for functions written on a single line. The getter either needs to be (exactly) `name { _name }` or it needs to explicitly `return _name`. https://wren.io/functions.html#returning-values https://wren.io/functions.html#returning-values
- reactordev 1y agoThat was it. Nuance in the “no new line after…” parsing. Thanks, it works now. Awesome!