November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy sprawdzić, czy „po drugiej stronie programu” jest inna osoba, czy też program został podpięty do pliku lub wyjścia innego programu.
Metoda STDIN.tty? zwraca true, jeśli standardowym wejściem programu jest terminal. Ponieważ tylko ludzie mogą obsługiwać terminale, sprawdzenie tego warunku jest wystarczające. Poniższy kod działa zarówno w systemie Unix, jak i Windows:
#!/usr/bin/ruby -w # interactive_or_not.rb if STDIN.tty? puts "Pozwólcie mi jako pierwszemu powitać moich ludzkich poddanych." else puts "Jak przebiega rewolucja mój bracie - programie?" end
Uruchomienie tego programu na dwa różne sposoby daje różne wyniki:
$ ./interaktywny_czy_nie.rb ...
Read now
Unlock full access