تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
برمجة سعيدة مع Implicit Line Continuation
#1
كاتب الموضوع : النبهاني

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

كود :
[align=left][FONT=Consolas]x = x ^ 2 + 3 * x _[/FONT]
[FONT=Consolas]+ 3[/FONT][/align]
تلك السمة كانت العلامة الفارقة دوما ، لكن جنون مايكروسوفت قادنا الى امر جديد كالعادة ! ما رأيك بهذا :


كود :
[align=left][FONT=Consolas]x =[/FONT]
[FONT=Consolas]x ^ 2 + 3 * x + 3[/FONT][/align]
السطر الثاني والثالث صحيحان 100% وبدون اخطاء ابتداءا من الاصدار 2010 !! المزيد من الاسطر الغريبة بالنسبه لك تجدها هنا :

كود :
[align=left][FONT=Consolas]<Extension()>[/FONT]
[FONT=Consolas][color=blue]Function[/color] FilterByCountry([/FONT]
[FONT=Consolas][color=blue]ByVal[/color] customers [color=blue]As[/color] IEnumerable([color=blue]Of[/color] Customer),[/FONT]
[FONT=Consolas][color=blue]ByVal[/color] country [color=blue]As[/color] [color=blue]String[/color]) [color=blue]As[/color] IEnumerable([color=blue]Of[/color] Customer)[/FONT]
[FONT=Consolas][color=blue]Dim[/color] query =[/FONT]
[FONT=Consolas][color=blue]From[/color] c [color=blue]In[/color] customers[/FONT]
[FONT=Consolas][color=blue]Where[/color] c.Country = country[/FONT]
[FONT=Consolas][color=blue]Select[/color] [color=#6464b9]<[/color][color=#844646]Customer[/color][color=#6464b9]>[/color][/FONT]
[color=#555555][FONT=Consolas]<%=[/FONT][/color]
[FONT=Consolas]c.Name &[/FONT]
[FONT=Consolas][color=#a31515]","[/color] &[/FONT]
[FONT=Consolas]c.Country[/FONT]
[FONT=Consolas][color=#555555]%>[/color][/FONT]
[color=#6464b9][FONT=Consolas]</[/FONT][/color][color=#844646][FONT=Consolas]Customer[/FONT][/color][color=#6464b9][FONT=Consolas]>[/FONT][/color]
[FONT=Consolas][color=blue]Return[/color] query[/FONT]
[FONT=Consolas][color=blue]End[/color] [color=blue]Function[/color][/FONT][/align]
الكود السابق وبأكمله لايوجد به ولا خطأ !

اذا ماذا عملت مايكروسوفت في هذا الاصدار ؟ كما يتضح من الكود السابق ، اصبح بإمكانك ان تتغاضى عن ادراج العلامة "_" في الحالات التالية :
- بعد المواصفات Attributes كما يتضح في السطر الاول
- بعد علامة ")" عند تمرير قيم الباراميترات .
- بعد علامة "," عند تمرير قيم الباراميترات .
- بعد معامل المساواة "="
- قبل علامة ")" .
- بعد علامة "<%=" وقبل علامة "%>" في صيغ الاستعلامات Queries Expressions .
- بعد المعامل "& " في استعلامات XML .

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

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

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

}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [نقاش] أرجو التصويت لابدا شرح برمجة اطار محادثة بين طرف واطراف على الاتصال المحلي او العام سعود 13 3,645 21-06-16, 09:31 PM
آخر رد: سعود
  [كود] Line Control silverlight 0 194 14-01-16, 03:03 PM
آخر رد: silverlight
  [حصرياً] و لأول مرة : درس برمجة لعبة x-o أسامة أحمد 4 1,438 04-03-15, 12:46 PM
آخر رد: abulayth
  برمجة قواعد البيانات sql server + vb.net ابوهديل 1 5,818 13-02-14, 08:26 PM
آخر رد: Omar Mekkawy
  برمجة قواعد البيانات SQL Server + vb.net مع ابو عبد الرحمن مبرمج أوتار 3 2,456 07-06-13, 06:09 AM
آخر رد: مبرمج أوتار
  شرح برمجة مشغل افلام flv على الجهاز سعود 2 701 11-10-12, 10:41 AM
آخر رد: m.sami.ak
  دروس فيديو لتعليم برمجة الاوتوكاد بالفيجوال دوت نت RaggiTech 5 998 03-10-12, 02:27 PM
آخر رد: RaggiTech
  التحويل بين أنواع البيانات باستخدام التضييق Explicit والتوسيع Implicit RaggiTech 0 337 02-10-12, 10:11 AM
آخر رد: RaggiTech
  الآن تعلم برمجة مفتاح ساخن HotKey بالفيجوال بيسك دوت نت RaggiTech 0 750 02-10-12, 08:23 AM
آخر رد: RaggiTech
  3 فيديوهات لتعليم برمجة الباركود RaggiTech 0 1,112 01-10-12, 04:23 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم