official documentation निर्दिष्ट नहीं है। मैं समझता हूं कि EOFError का अर्थ है "फ़ाइल त्रुटि का अंत", लेकिन इसका क्या अर्थ है? यदि कोई फ़ाइल रीडर फ़ाइल के अंत तक पहुंच जाता है, तो यह मेरे लिए त्रुटि की तरह नहीं लगता है।रुबी फ़ाइल I/O में EOFError क्या है?
उत्तर
EOFError आईओ, वर्ग जो सभी इनपुट/आउटपुट का आधार है के सभी में उपयोगी है:
import_file = File.open(filename)
begin
while (line = import_file.readline)
sline = FasterCSV.parse_line(line)
# Do stuff with sline
end
rescue EOFError
# Finished processing the file
end
एक ही बात EOFError बिना प्राप्त किया जा सकता रूबी में अब कोर यूनिक्स अवधारणाओं को भी याद रखें: सबकुछ एक फाइल है। इसमें सॉकेट शामिल हैं। इसलिए, यदि आपके पास कुछ सॉकेट खुला है और इससे पढ़ रहे हैं, तो फाइल के अंत का सामना करना पड़ सकता है।
वहां के सभी उदाहरण EOFError (कुछ पाठ फ़ाइल पढ़ने के दौरान) के छोटे उपयोग दिखाते हैं, जो वास्तव में उपयोगी नहीं हैं। हालांकि, नेट/http या अन्य कक्षाओं के माध्यम से खोदना शुरू करें जो सॉकेट का भारी उपयोग करते हैं, और आप इस अपवाद का उपयोग कर देखेंगे।
संपादित प्रतिक्रिया के लिए/एफ़टीपी
def getline
line = @sock.readline # if get EOF, raise EOFError
line.sub!(/(\r\n|\n|\r)\z/n, "")
if @debug_mode
print "get: ", sanitize(line), "\n"
end
return line
end
EOFError (फ़ाइल त्रुटि का अंत), जब आप किसी फ़ाइल ऑब्जेक्ट पर एक ऑपरेशन करने का प्रयास कर रहे हैं तो उसे फेंक दिया गया है जो पहले से ही फ़ाइल के अंत में संदर्भित कर रहा है। इस उदाहरण में, जब लाइन मौजूद नहीं है, तो हम readline
पर प्रयास कर रहे हैं।
उदाहरण के लिए:
File.open(filename).each do |line|
sline = FasterCSV.parse_line(line)
# Do stuff with sline
end
धन्यवाद नेट से इस उदाहरण जोड़ने के लिए। मैं समझता हूं कि EOFError का अर्थ है "फ़ाइल त्रुटि का अंत"। लेकिन उसका अक्षरशः अर्थ क्या है? अगर पाठक फ़ाइल के अंत तक पहुंचता है, तो यह मेरे लिए एक त्रुटि की तरह नहीं लगता है। – Tony
क्षमा करें, मेरे बारे में विचार करने के लिए कितना बेवकूफ नहीं है। मैंने जवाब अपडेट किया, लेकिन मुझे लगता है कि यह अभी भी आपके प्रश्न का उत्तर नहीं दे सकता है। – Swanand
यदि वे दो फ़ाइल हैंडलिंग के लिए काफी समकक्ष हैं, तो थोड़ा सा मदद करता है। एक बेहतर उत्तर के लिए धन्यवाद – Tony
- 1. फ़ाइल io
- 2. अनुकूलन सी # फ़ाइल IO
- 3. रुबी में [....] क्या है?
- 4. मैवेन निर्भरता org.apache.commons के बीच क्या अंतर है: commons-io और commons-io: commons-io?
- 5. IO
- 6. रुबी में == क्या करता है?
- 7. रुबी में "पी" क्या है?
- 8. रुबी मणि क्या है?
- 9. रुबी - फ़ाइल को
- 10. सॉकेट io
- 11. 'EOFError: फ़ाइल का अंत पहुंच गया' HEROKU पर एसटीएल
- 12. रुबी में "उपज" कीवर्ड क्या करता है?
- 13. रुबी भाषा में || = मतलब क्या है?
- 14. रुबी में __FILE__ का क्या अर्थ है?
- 15. रुबी में * (स्टार) का क्या अर्थ है?
- 16. रुबी में $ _ [0], $ _ [1] क्या है?
- 17. रुबी में "छाया" का क्या अर्थ है?
- 18. रुबी में chr() के विपरीत क्या है?
- 19. रुबी भाषा में इसका क्या अर्थ है?
- 20. क्या पाइथन IO को तेज़ करना संभव है?
- 21. रुबी का क्या उपयोग है?
- 22. रुबी में प्रतिशत साइन + पाइप ऑपरेटर का अर्थ क्या है, जैसा कि "% |" है?
- 23. लिनक्स में परीक्षण IO प्रदर्शन
- 24. रुबी
- 25. रुबी
- 26. रुबी
- 27. $ क्या करता है: रुबी रूबी में करते हैं?
- 28. रुबी
- 29. /proc/[pid]/io
- 30. रुबी
+1। – Swanand
धन्यवाद स्वानंद। मुझे उदाहरण के कोड को मेरे पसंदीदा उपयोग के लिए देना है ... "ढूंढें /usr/lib/ruby/1.8/net/ -name * .rb -exec grep EOFError/dev/null '{}' \;" –