draw_grid_of_squares.sf 446 B

123456789101112131415161718192021222324
  1. #!/usr/bin/ruby
  2. func draw_grid(n, k) {
  3. if (n % k != 0) {
  4. warn "#{n} is not divisible by #{k}"
  5. }
  6. func sym( (true), (true) ) { '+' }
  7. func sym( (true), (false) ) { '-' }
  8. func sym( (false), (true) ) { '|' }
  9. func sym( (false), (false) ) { ' ' }
  10. (n+1).of {|a|
  11. (n+1).of {|b|
  12. sym(a %% n/k, b %% n/k)
  13. }.join
  14. }.join("\n").say
  15. }
  16. draw_grid(25, 5)
  17. draw_grid(16, 2)
  18. draw_grid(12, 3)