2009-09-24 16 views

उत्तर

15

UPDATED

orig_std_out = STDOUT.clone 
STDOUT.reopen(File.open('OUTPUT', 'w+')) 
puts "test to file" 
STDOUT.reopen(orig_std_out) 
puts "test to screen" 
2

आप फ़ाइल हैंडल 1, जो stdout (0=stdin, 1=stdout, 2=stderr) के लिए मानक fd संभाल है पर STDOUT फिर से खोलना करने की जरूरत है।

मैं एक रूबी पुरुष नहीं हूँ, लेकिन मैं इस बारे में सोच सही के बारे में है:

STDOUT.reopen(IO.for_fd(1, "r")) 
1

भी सरल यूनिक्स पर यदि:

STDOUT.reopen 'OUTPUT' 
puts 'text to file' 

STDOUT.reopen '/dev/tty' 
puts 'text to console' 
संबंधित मुद्दे