A function in a type is just as a function outside? Who can access a global in a field?
type functions and globals
BlitzMax Forums/BlitzMax Programming/type functions and globals A function in a type is just as a function outside?
Sort of. You refer to it with the syntax:type_name.function_name
Example:
Type test 'Global Global myglobal 'Constant Const speed = 5 'Field field x,y 'Method method Move() x = x + speed end method 'Function Function MyFunc() print "Hello" end function End Type
Now, you refer to the function MyFunc in this way:
test.MyFunc()
Who can access a global in a field?
If I get what you mean, you can access any type global variable in the same way you access a type function, so:
print test.myglobal
The main difference between Methods and Functions is that a Method can be fired only when you have an instance of the type, because a Method works with type elements, so:
test.MyFunc() -----> Correct call to a function t.Move -----> this gives a compile error '============================== test.MyFunc() -----> Correct call to a function t:test = new test ----> New instance created t.Move -----> Correct call to a method
In the same way are Type Fields and Type Globals or Constants: Fields can be set or accessed only when you have an instance of the type, while Global and Constants can be always accessed - that is, you don't need an instance of the type to access it:
Print test.myglobal Print test.speed
There's some good tutorial around here, check it out for example:
http://www.blitzbasic.com/Community/posts.php?topic=42519
Hope that has sense for you,
Sergio.
grazie sergio!
Matteo
Matteo
Non c'e' di che !!
:)
:)