fp_arrays_01.bmx 912 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. '
  2. ' Test function pointer arrays
  3. '
  4. SuperStrict
  5. Framework brl.standardio
  6. Local t:TType = New TType
  7. t.funcArray = [func1, func2, Null]
  8. Print t.funcArray[0]("1", 1, 1.0)
  9. Print t.funcArray[1]("2", 2, 2.0)
  10. t.update(2, func3)
  11. Print t.funcArray[2]("3", 3, 3.0)
  12. Type TType
  13. Field funcArray:String(param1:String, param2:Int, param3:Double)[]
  14. Method update(pos:Int, func_:String(param1:String, param2:Int, param3:Double))
  15. funcArray[pos] = func_
  16. End Method
  17. End Type
  18. Function func1:String(param1:String, param2:Int, param3:Double)
  19. Return "func1 " + param1 + " " + param2 + " " + param3
  20. End Function
  21. Function func2:String(param1:String, param2:Int, param3:Double)
  22. Return "func2 " + param1 + " " + param2 + " " + param3
  23. End Function
  24. Function func3:String(param1:String, param2:Int, param3:Double)
  25. Return "func3 " + param1 + " " + param2 + " " + param3
  26. End Function