MaxReve نشر 28 نوفمبر 2015 أرسل تقرير نشر 28 نوفمبر 2015 هل هنالك أي فرق بين $1 و \1 في التعابير النمطية في لغة روبي؟ لأنني أجد أن لها نفس الوظيفة. اقتباس
0 هشام رزق الله نشر 28 نوفمبر 2015 أرسل تقرير نشر 28 نوفمبر 2015 هنالك فرق بسيط بين $1 و \1، فالأولى هي متغيّر عالمي والذي يمكن أن يُستخدم في أماكن متعدّدة من الشيفرة البرمجية، فمثلا يمكنك استخدامه في الجمل الشرطية كما في المثال التالي:if "foobab" =~ /foo(.*)/ then puts "The matching word was #{$1}" end أما \1 فهي مرجع خلفي والتي ستعمل فقط في توابع sub أو gusb ولا يمكنك استخدامها في أماكن أخرى، كمثال لنفترض أنك تبحث عن الجزء الثاني من كلمة موجودة في سلسلة نصية معينة فسوف تقوم بشيء مشابه لهذا (لاحظ أننا كررنا الجزء الثاني مرتين):"foobar".sub(/foo(.*)/, '\1\1') # => "barbar" اقتباس
السؤال
MaxReve
هل هنالك أي فرق بين $1 و \1 في التعابير النمطية في لغة روبي؟ لأنني أجد أن لها نفس الوظيفة.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.