الرئيسية > Visual Basic .Net > السطر يصبح سطرين بدون "_" مع Implicit Line Continuation في Visual Basic 2010

السطر يصبح سطرين بدون "_" مع Implicit Line Continuation في Visual Basic 2010

اهو ذكاء ام تشويه للغة ؟

منذ البداية ، كان الفرق الجوهري في الصيغة Syntax بين لغتنا الحبيبة Visual Basic وكل اخواتها من عائلة Basic – واللغات الاخرى كـ C/C++,Java وغيرها ، هو طريقة التعدد في كتابة السطر الواحد في سطور مختلفه ، فلا حاجه الى انهاء كل سطر بالعلامة " ; " لكي يعرف سيادة المترجم Compiler بأن السطر انتهى هنا ، بينما في Visual Basic فلا داعي لذلك ، كل سطر ينتهي بنفسه افتراضيا طالما لم ينته بالعلامة "_" والتي تدل على ان السطر مقسم على اسطر متعددة كهذا الكود مثلا :


x = x ^ 2 + 3 * x _
+ 3

تلك السمة كانت العلامة الفارقة دوما ، لكن جنون مايكروسوفت قادنا الى امر جديد كالعادة ! ما رأيك بهذا :

x =
x ^ 2 + 3 * x + 3

 

السطر الثاني والثالث صحيحان 100% وبدون اخطاء ابتداءا من الاصدار 2010 !! المزيد من الاسطر الغريبة بالنسبه لك تجدها هنا :

<Extension()>

Function FilterByCountry(

  ByVal customers As IEnumerable(Of Customer),

  ByVal country As String) As IEnumerable(Of Customer)

    Dim query =

      From c In customers

      Where c.Country = country

      Select <Customer>

                 <%=

                     c.Name &

                     "," &

                     c.Country

                 %>

             </Customer>

    Return query

End Function

الكود السابق وبأكمله لايوجد به ولا خطأ !

اذا ماذا عملت مايكروسوفت في هذا الاصدار ؟ كما يتضح من الكود السابق ، اصبح بإمكانك ان تتغاضى عن ادراج العلامة "_" في الحالات التالية :

– بعد المواصفات Attributes كما يتضح في السطر الاول

– بعد علامة ")" عند تمرير قيم الباراميترات .

– بعد علامة "," عند تمرير قيم الباراميترات .

– بعد معامل المساواة "="

– قبل علامة ")" .

– بعد علامة "<%=" وقبل علامة "%>" في صيغ الاستعلامات Queries Expressions .

– بعد المعامل "& " في استعلامات XML .

قد يبدو هذا كثيرا ، لكن الامر لن ينتهي عند هذا الحد ، فالمزيد من الحالات التي يمكنك فيها توديع علامة المتابعة "_" موجوده وهي جاهزه وملخصه في الرابط التالي :

 

http://msdn.microsoft.com/en-us/library/865x40k4.aspx

برمجة سعيدة مع Implicit Line Continuation لكن هل تم تشويه اكواد Visual Basic بهذا الشكل ؟ فعلا هي و Lambda Expressions و LINQ غيرت الكثير من معالم الاكواد !

  1. لا يوجد تعليقات.
  1. No trackbacks yet.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: