Confused about instance variables
BlitzMax Forums/BlitzMax Beginners Area/Confused about instance variables
| ||
| BlitzMax looks like lots of fun, but I'm getting confused about how instance variables work in BlitzMax. This snippet of code isn't doing what I expect: --- Type Foo Field bar:String; Function Report() Print(bar) EndFunction EndType Local a:Foo=New Foo a.bar="Hello World" a.Report(); --- I would expect to see "Hello World" printed, but instead I see "0". What gives? |
| ||
Use a Method instead of a Function:Type Foo
Field bar:String
Method Report()
Print(bar)
End Method
EndType
Local a:Foo=New Foo
a.bar="Hello World"
a.Report(); |
| ||
| You should have Method Report(), not Function Report(). Your code as it is creates a local variable bar:Int in function report. This is why you should always use Strict or SuperStrict mode ;) |
| ||
| Method instead of Function makes perfect sense. Thanks for the help! |