• 0

كيف أحصل على حرف واحد بدون الضغط على زر الإدخال في روبي؟

أريد الحصول على حرف واحد من المستخدم في الطرفية على نظام لينكس بدون أن يضغط المستخدم على زر الإدخال، فما هي أسهل طريقة لفعل ذلك في روبي؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق سهلة في لغة روبي للحصول على حرف واحد دون طباعة زر الإدخال (Enter)، فمنذ الإصدار 2 من روبي أصبح هنالك وحدة io/console والتي تحتوي على getc من STDIN للقيام بهذه الوظيفة فيكفي أن تسندها إلى متغير للحصول على الرمز الذي تريده:

#!/usr/bin/ruby

begin
  system("stty raw -echo")
  str = STDIN.getc
ensure
  system("stty -raw echo")
end
p str.chr

لاحظ أننا استخدمنا تابع chr لتحويل المدخل من عدد إلى حرف آسكي لتتمكن من التعامل معه في برنامجك.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن