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! |