المبرمج العربي نشر 17 ديسمبر 2015 أرسل تقرير نشر 17 ديسمبر 2015 أحاول عمل مدخلات كلمة السطر باستخدام Highline gem ولاختصار الأمر وتقليل التكرار في الشيفرة البرمجية قمت بتغيير هذا السطر في برنامجي:new_pass = ask("Enter your new password: ") { |prompt| prompt.echo = false } verify_pass = ask("Enter again to verify: ") { |prompt| prompt.echo = false } إلى هذه الأسطر:foo = Proc.new { |prompt| prompt.echo = false } new_pass = ask("Enter your new password: ") foo verify_pass = ask("Enter again to verify: ") foo ولكن للأسف لم تعمل، فما هي الطريقة الصحيحة لفعل ذلك في روبي؟ اقتباس
0 هشام رزق الله نشر 17 ديسمبر 2015 أرسل تقرير نشر 17 ديسمبر 2015 هنالك عدّة طرق في لغة روبي لتمرير كتل إلى التوابع، فيمكنك على سبيل المثال وضع الكتلة التي تريد تمريرها في متغير ومن ثم تمرير ذالك المتغير كما يظهر في المثال التالي:foo = Proc.new { |prompt| prompt.echo = false } new_pass = ask("Enter your new password: ", &foo) verify_pass = ask("Enter again to verify: ", &foo) أو يمكنك تمرير الكتلة بطرق أخرى فمثلا استخدمنا في هذا المثال تابع call لاستخدام المتغير foo الذي يحتوي على الكتلة التي تريد تمريرها كما يظهر ذلك هنا: foo = Proc.new { |prompt| prompt.echo = false } new_pass = ask("Enter your new password: ") {|x| foo.call(x)} verify_pass = ask("Enter again to verify: ") {|x| foo.call(x)} اقتباس
السؤال
المبرمج العربي
أحاول عمل مدخلات كلمة السطر باستخدام Highline gem ولاختصار الأمر وتقليل التكرار في الشيفرة البرمجية قمت بتغيير هذا السطر في برنامجي:
إلى هذه الأسطر:
ولكن للأسف لم تعمل، فما هي الطريقة الصحيحة لفعل ذلك في روبي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.