confusable_capture_reassignment.gd 763 B

1234567891011121314151617181920212223
  1. var member := 1
  2. func test():
  3. var number := 1
  4. var string := "1"
  5. var vector := Vector2i(1, 0)
  6. var array_assign := [1]
  7. var array_index := [1]
  8. var dictionary := { x = 0 }
  9. var lambda := func ():
  10. member = 2 # Member variable, not captured.
  11. number = 2 # Local variable, captured.
  12. string += "2" # Test compound assignment operator.
  13. vector.x = 2 # Test subscript assignment.
  14. array_assign = [2] # Pass-by-reference type, reassignment.
  15. array_index[0] = 2 # Pass-by-reference type, index access.
  16. dictionary.x = 2 # Pass-by-reference type, attribute access.
  17. prints("lambda", member, number, string, vector, array_assign, array_index, dictionary)
  18. lambda.call()
  19. prints("outer", member, number, string, vector, array_assign, array_index, dictionary)