sample_2.pi 442 B

123456789101112131415161718192021222324
  1. #!/usr/bin/env ruby
  2. enum DirStat <CanWrite NoDir NoWrite>
  3. func check_dir_state(str) DirStat {
  4. if str.is_dir {
  5. var f = "#str/.tmp"
  6. spurt f, "some text" or return NoWrite
  7. unlink f
  8. return CanWrite
  9. }
  10. return NoDir
  11. }
  12. var dirs = ['/tmp', '/', '~/tmp']
  13. for dirs -> dir {
  14. var stat = check_dir_state(dir)
  15. say "status of dir '#dir': #stat"
  16. if stat ~~ CanWrite {
  17. say " user can write to dir: #dir";
  18. }
  19. }