تقييم الموضوع :
  • 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 غيرت الكثير من معالم الاكواد !

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] برمجة dynamic Buttons مع قواعد البيانات mgr21002100 1 2,853 13-08-19, 05:36 PM
آخر رد: asemshahen5
Information [VB.NET] برمجة dynamic Buttons mgr21002100 2 2,698 13-08-19, 05:00 AM
آخر رد: mgr21002100
  [كود] Line Control silverlight 1 2,969 29-05-19, 10:30 PM
آخر رد: egbest2
  [مقال] برمجة إتصال TCP عبر الشبكة المحلية Fantastico 1 2,433 09-11-17, 04:57 PM
آخر رد: Amir_Alzubidy
  [حصرياً] و لأول مرة : درس برمجة لعبة x-o أسامة أحمد 4 5,508 04-03-15, 12:46 PM
آخر رد: abulayth
  برمجة قواعد البيانات sql server + vb.net ابوهديل 1 9,282 13-02-14, 08:26 PM
آخر رد: Omar Mekkawy
  برمجة قواعد البيانات SQL Server + vb.net مع ابو عبد الرحمن مبرمج أوتار 3 6,613 07-06-13, 06:09 AM
آخر رد: مبرمج أوتار
  شرح برمجة مشغل افلام flv على الجهاز سعود 2 3,216 11-10-12, 10:41 AM
آخر رد: m.sami.ak
  دروس فيديو لتعليم برمجة الاوتوكاد بالفيجوال دوت نت RaggiTech 5 3,937 03-10-12, 02:27 PM
آخر رد: RaggiTech
  التحويل بين أنواع البيانات باستخدام التضييق Explicit والتوسيع Implicit RaggiTech 0 2,504 02-10-12, 10:11 AM
آخر رد: RaggiTech

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


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