سؤال

أنا أقرأ خط ملف عبر السطر في برنامج بسيط وعندما أطبع الخطوط إلى الشاشة لا يمكن رؤية السطر الأخير في نافذة Oput في NetBeans 6.5.1 IDE على نظام التشغيل Windows XP ولكن عندما أقوم بتشغيل البرنامج مباشرة من سطر الأوامر باسم "Ruby Main.rb" لا توجد مشكلة (أي السطر الأخير يمكن رؤيته). أنا باستخدام Ruby 1.8.6.Here هو الكود بالكامل:

File.open("songs.txt","r") do |file|
  file.each do |line|
    print line
   end
end
هل كانت مفيدة؟

المحلول

هذا سيعمل بشكل أفضل إذا كنت تستخدم puts مما سيقوم بإلحاق المنهي الجديد إذا لم يكن هناك بالفعل واحد في نهاية السطر، مما أجبر على تدفق مخزن مؤقت.

نصائح أخرى

لم أتعرض أبدا عبر هذا من قبل نفسي، لكن تخميني سيكون أن خطك النهائي لا يحتوي على كسر خط زائدة، وبالتالي فإن وحدة التحكم NetBeans لا تدفع الخط. حاول إضافة $stdout.flush في نهاية البرنامج ومعرفة ما يحدث.

بالمناسبة، يمكنك تبسيط هذا الرمز قليلا عن طريق إعادة كتابة ذلك باستخدام foreach:

File.foreach("songs.txt","r") do |file|
  print line
end
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top