المبرمج العربي نشر 21 ديسمبر 2015 أرسل تقرير نشر 21 ديسمبر 2015 في اللغات الأخرى يمكنني استخدام //g في التعابير النمطية للمطابقة بشكل شامل، في حين أنه في روبي هذا السطر:"hello hello".match /(hello)/لن يلتقط سوى hello الأول، فكيف أستطيع التقاط جميع كلمات hello الموجودة في سلسلة نصية معينة؟ اقتباس
0 هشام رزق الله نشر 21 ديسمبر 2015 أرسل تقرير نشر 21 ديسمبر 2015 من أسهل الطرق في لغة روبي لحل هذه المشكلة هي استخدام تابع scan، فهذا التابع سيعطيك مصفوفة تحتوي على جميع المتطابقات أو في حالة ما مررته إلى كتلة معينة (block) فإنه سيمرر كل مطابق إلى تلك الكتلة لتنفيذ الأوامر التي تريدها.في المثال الأول سيرجع روبي مصفوفة بالمطابقات أما في المثال الثاني فسيطبع كل عنصر على حدة:"hello1 hello2".scan(/(hello\d+)/) # => [["hello1"], ["hello2"]] "hello1 hello2".scan(/(hello\d+)/).each do|m| puts m end اقتباس
السؤال
المبرمج العربي
في اللغات الأخرى يمكنني استخدام //g في التعابير النمطية للمطابقة بشكل شامل، في حين أنه في روبي هذا السطر:
لن يلتقط سوى hello الأول، فكيف أستطيع التقاط جميع كلمات hello الموجودة في سلسلة نصية معينة؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.