fork download
  1. type
  2. Direction = enum
  3. north, east, south, west
  4. BlinkLights = enum
  5. off, on, slowBlink, mediumBlink, fastBlink
  6. LevelSetting = array[north..west, BlinkLights]
  7. var
  8. level: LevelSetting
  9. level[north] = on
  10. level[south] = slowBlink
  11. level[east] = fastBlink
  12. echo repr(level) # --> [on, fastBlink, slowBlink, off]
  13. echo low(level) # --> north
  14. echo len(level) # --> 4
  15. echo high(level) # --> west
  16.  
  17. type
  18. LightTower = array[1..10, LevelSetting]
  19. var
  20. tower: LightTower
  21. tower[1][north] = slowBlink
  22. tower[1][east] = mediumBlink
  23. echo len(tower) # --> 10
  24. echo len(tower[1]) # --> 4
  25. echo repr(tower) # --> [[slowBlink, mediumBlink, ...more output..
  26. # 以下の行は型の不一致のエラーによりコンパイルできない
  27. #tower[north][east] = on
  28. #tower[0][1] = on
  29.  
Success #stdin #stdout 0s 4536KB
stdin
Standard input is empty
stdout
[132097 (invalid data!), 288230376151712260 (invalid data!), 1125899906842626 (invalid data!), 4398046511104 (invalid data!)]

north
4
west
10
4
[[770 (invalid data!), mediumBlink, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off], [off, off, off, off]]