F # 2: بيئة FSI

كما يعلم الكثير منكم ، أنا شاب من C #. لذلك ، إذا أردت فقط تجربة شيء ما ، فأنا عادة ما أقوم بفتح LINQPad وجرب شيئًا هناك. إذا كانت الأمور تنمو وتحتاج إلى مزيد من التحكم في التجارب ، فسوف أتخلى عن LINQPad ونشر تطبيق ConsoleApplication في Visual Studio. تعمل كلا الطريقتين بشكل جيد ، لكن سيكون من الجيد إذا كان هناك نوع من البيئة التي يمكنك من خلالها تجربة شيء ما داخل Visual Studio نفسه دون إنشاء مشروع جديد.

لحسن الحظ ، هناك واحد في F #.

هناك أداة رائعة تمامًا تسمى النافذة التفاعلية F # (FSI) ، والتي يمكنك العثور عليها باستخدام Visual Studio (أنا أستخدم VS 2012) ، على سبيل المثال:

صورة

بمجرد فتح نافذة F # التفاعلية ، سترى شيئًا مثل هذا:

صورة

الآن قد لا يبدو هذا عملاقًا كبيرًا ، لكن هذه النافذة تتيح لك القيام بالكثير من الأشياء بسهولة تامة. يمكن استخدامه للنماذج الأولية السريعة والاختبار ، إذا أردت.

وبهذه الطريقة يمكنك أن ترى أن لديك موجه > في انتظار المدخلات الخاصة بك. دعنا نقدم شيئا؟

إعطاء المدخلات


كل ما عليك القيام به في نافذة F # التفاعلية للحصول على أي مدخلات هو إنهاء خطك بفواصل منقوطة اثنين ؛ "؛".

فيما يلي بعض الأمثلة الصحيحة للإدخال الصحيح.

الإعلان عن وظيفة ستأخذ قيمة ومربعًا لها (لاحظ أننا لم نحدد النوع x):

let squarer x = x * x;; 

الآن دعنا نعلن عن متغير يحتوي على قيمة الإرجاع للدالة إلى الدالة squarer. من السهل القيام بذلك على النحو التالي:

 let squared = squarer 10;; 

عرض البيانات


إذا كنا نريد أن ننظر إلى البيانات ، فيمكننا أيضًا تقييم الأشياء بطريقة مماثلة. وبالتالي ، بافتراض أننا أدخلنا القيم أعلاه ، سنحصل على ما يلي:

  1. وظيفة مربع
  2. عاد نوع كثافة العمليات حسب الوظيفة

وبالتالي ، لتقييم أحدهم ، يقول "تربيع" ، يمكننا ببساطة كتابة شيء مثل هذا في سطر إدخال FSI:

 squared;; 

عندما نقوم بتشغيل هذا الخط في FSI ، ما يحدث هو أن القيمة معروضة في نافذة FSI ، شيء مثل هذا:

 val it : int = 100 

حيث يمكنك أن ترى أن القيمة هي 100 حقًا ، وهي نتيجة لاستدعاء سابق إلى دالة التربيع التي تم إنشاؤها في إطار FSI.

شيء رائع آخر قبل النهاية


قبل أن ننتهي من هذه المقالة ، أود فقط أن أذكر أنه يمكنك أيضًا استخدام نافذة FSI مع ملف البرنامج النصي F # إذا كنت ترغب في تجربة شيء سريع.

قل أنه كان لدي ملف نصي F # (FSX) مع الكود التالي فيه:

 open System let squareRootMe x = System.Math.Sqrt(x) 

وأردت تجربة ذلك في FSI ، يمكنني فقط تحديد سطور / مقطع الكود وتحديد تنفيذه في نافذة FSI.

صورة

الآن هو في نطاق نافذة FSI. مما يعني أنه يمكنني استخدام الوظيفة كما هو موضح هنا:

 > let x = squareRootMe 144.0;; val x : float = 12.0 

Source: https://habr.com/ru/post/ar470033/


All Articles