دروس البرنامج النصي رائع للمبتدئين

ما هو البرنامج النصي رائع؟

اباتشي رائع هي لغة برمجة موجهة للكائنات ومتوافقة مع بناء جملة Java مصممة لمنصة Java. تحتوي هذه اللغة الديناميكية على العديد من الميزات المشابهة لـ Python وRuby وSmalltalk وPero. يتم تجميع كود مصدر Groovy في Java Bytecode حتى يمكن تشغيله على أي نظام أساسي تم تثبيت JRE عليه. يؤدي Groovy أيضًا الكثير من المهام خلف الكواليس مما يجعله أكثر مرونة وديناميكية.

يمكن استخدام لغة Groovy كلغة برمجة نصية لمنصة Java. إنه يشبه تقريبًا الإصدار الفائق من Java الذي يوفر إمكانات Java المؤسسية. كما يوفر العديد من ميزات الإنتاجية مثل دعم DSL والإغلاق والكتابة الديناميكية. وعلى عكس بعض اللغات الأخرى، فقد تم تصميمه ليكون مساعدًا وليس بديلاً لـ Java.

لماذا رائع؟

فيما يلي الأسباب الرئيسية التي تدفعك إلى استخدام Groovy وتعلمه-

  • Groovy هي لغة رشيقة وديناميكية
  • التكامل بسلاسة مع جميع كائنات ومكتبات Java الموجودة
  • يبدو الأمر سهلاً وطبيعيًا لمطوري Java
  • شركات كود أكثر إيجازا وذات مغزىares إلى جافا
  • يمكنك استخدامه كثيرًا أو قليلاً كما تريد مع تطبيقات Java

تاريخ رائع

  • 2003: تم تطويره بواسطة بوب ماكWhirثالثا وجيمس ستراشان
  • 2004: تم تشغيلها في JSR 241 ولكن تم التخلي عنها
  • 2005: أعاده جيريمي راينر وغيوم لافورج
  • 2007: إصدار رائع 1.0
  • 2012: إصدار رائع 2
  • 2014: الإصدار 2.3 من Groovy (الدعم الرسمي المقدم لـ JDK 8)
  • 2015: أصبح Groovy مشروعًا في برنامج Apache Foundation

مميزات جروفي

  • القائمة والخريطة والنطاق والتعبيرات الحرفية العادية
  • تعدد الأساليب والبرمجة الوصفية
  • عادةً ما يتم تخزين الفئات والبرامج النصية الرائعة في ملفات .groovy
  • تحتوي البرامج النصية على عبارات Groovy دون أي تعريف للفئة.
  • يمكن أن تحتوي البرامج النصية أيضًا على تعريفات أسلوب خارج تعريفات الفئة.
  • يمكن تجميعه ودمجه بالكامل مع تطبيق Java التقليدي.
  • دعم مستوى اللغة للخرائط والقوائم والتعبيرات العادية
  • يدعم عمليات الإغلاق والكتابة الديناميكية وبروتوكول كائن التعريف
  • دعم الكتابة الثابتة والديناميكية operaالتحميل الزائد على تور
  • الإعلان الحرفي للقوائم (المصفوفات) والخرائط والنطاقات والتعبيرات العادية

كيفية تثبيت جروفي

الخطوة 1) تأكد لديك تم تثبيت Java.

الخطوة 2) انتقل إلى البرنامج المساعد في التأليف http://groovy-lang.org/download.html وانقر فوق المثبت.

قم بتثبيت رائع

ملاحظة: يمكنك أيضًا تثبيت Groovy باستخدام ملف Zip أو كملف Eclipse IDE. في هذا البرنامج التعليمي الرائع، سوف نلتزم بما يلي: Windows فني تركيب/تثبيت

الخطوة 3) قم بتشغيل برنامج التثبيت الذي تم تنزيله. حدد اللغة ثم انقر فوق موافق

قم بتثبيت رائع

الخطوة 4) يطلق. في شاشة الترحيب، انقر فوق التالي

قم بتثبيت رائع

الخطوة 5) أتفق مع شروط الترخيص

قم بتثبيت رائع

الخطوة 6) حدد المكونات التي تريد تثبيتها وانقر فوق "التالي".

قم بتثبيت رائع

الخطوة 7) حدد دليل التثبيت وانقر فوق "التالي".

قم بتثبيت رائع

الخطوة 8) اختر مجلد قائمة ابدأ وانقر فوق "التالي".

قم بتثبيت رائع

الخطوة 9) بمجرد الانتهاء من التثبيت، اترك المسارات الافتراضية وانقر فوق التالي

قم بتثبيت رائع

الخطوة 10) انقر فوق التالي

قم بتثبيت رائع

الخطوة 11) في قائمة البداية، ابحث عن Groovy Console

قم بتثبيت رائع

رائع مرحبا العالم مثال

ضع في اعتبارك أننا نريد طباعة سلسلة بسيطة "Hello World" في Java. سيكون رمز تحقيق سلسلة Groovy helloworld هو

public class Demo {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

الكود أعلاه صالح في كل من Java وGroovy حيث أن Groovy عبارة عن مجموعة شاملة من Java. لكن ميزة Groovy هي أنه يمكننا التخلص من إنشاء الفصل وإنشاء الطريقة العامة وما إلى ذلك وتحقيق نفس الناتج باستخدام رمز سطر واحد كما يلي:

println "Hello World."

ليست هناك حاجة للفواصل المنقوطة

ليست هناك حاجة للأقواس

تم تحويل System.out.println إلى println

متغيرات رائعة

في جافا، الربط الثابت إلزامي. وهذا يعني أنه يجب الإعلان عن نوع المتغير مسبقًا.

public class Demo {
    public static void main(String[] args) {
        int x = 104;
        System.out.println(x);
        //x = "Guru99";
    }
}

في المثال أعلاه من هذا البرنامج التعليمي Groovy، يتم الإعلان عن نوع المتغير (عدد صحيح) مسبقًا باستخدام الكلمة الأساسية "int". إذا كنت ستعلن عن رقم الفاصلة العائمة، فاستخدم الكلمة الأساسية float.

إذا حاولت تعيين قيمة سلسلة إلى int (سطر إلغاء التعليق رقم 5)، فستحصل على ما يليwing خطأ

Demo.java:5: error: incompatible types: String cannot be converted to int
x = "Guru99";

في المقابل، يدعم Groovy الكتابة الديناميكية. يتم تعريف المتغيرات باستخدام الكلمة الأساسية "def"، ولا يلزم الإعلان عن نوع المتغير مسبقًا. يقوم المترجم بتحديد نوع المتغير في وقت التشغيل ويمكنك حتى تحديد نوع المتغير.

خذ بعين الاعتبار ما يليwing مثال رائع،

def x = 104
println x.getClass()
x = "Guru99"
println x.getClass()

الإخراج:

class java.lang.Integer
class java.lang.String

في Groovy، يمكنك إنشاء سلاسل متعددة الأسطر. فقط تأكد من تضمين السلسلة بين علامات اقتباس ثلاثية.

def x = """Groovy
at
Guru99"""
println x

الإخراج:

Groovy
at
Guru99

ملاحظات: لا يزال بإمكانك تغيير الأنواع مثل byte، وshort، وint، وlong، وما إلى ذلك باستخدام Groovy. لكن لا يمكنك تغيير نوع المتغير ديناميكيًا كما قمت بتعريفه صراحةً.

خذ بعين الاعتبار ما يليwing رمز:

int x = 104
println x
x = "Guru99"

انه يعطي فولوwing خطأ

104
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'Guru99' with class 'java.lang.String' to class 'int'
    at jdoodle.run(jdoodle.groovy:3)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Command exited with non-zero status 1

رائع-Operaالاختصاصات

An operaTor هو رمز يخبر المترجم بالقيام بمعالجات رياضية أو منطقية معينة.

رائع لديه المتابعةwing خمسة أنواع من operaتورس –

  • علم الحساب operators: إضافة (+)، طرح (-)، الضرب (*)، القسمة (/)
  • قصصي operators: يساوي (==)، لا يساوي (!=)، أقل من (<) أقل من أو يساوي (<=)، أكبر من (>)، أكبر من أو يساوي (>=)
  • منطقي operators: و(&&)، أو (||)، وليس (!)
  • قطعةwise operators: And(&)، أو (|)، (^)، Xor أو حصريًا-أو operaتور
  • مهمة operaتورس: النفي operaتور (~)

حلقات رائعة

في Java، يمكنك تحديد حلقة على النحو التالي

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x++) {
            System.out.println(x);
        }
    }
}

الإخراج:

0
1
2
3
4

يمكنك تحقيق نفس النتيجة في Groovy باستخدام ما يصل إلى الكلمات الرئيسية

0.upto(4) {println "$it"}

تحصل على نفس الإخراج على النحو الوارد أعلاه. $ إنه إغلاق يعطي قيمة الحلقة الحالية.

خذ بعين الاعتبار ما يليwing الكود

2.upto(4) {println "$it"}

أنه يعطي الإخراج

2
3
4

يمكنك أيضًا استخدام الكلمة الأساسية "مرات" للحصول على نفس النتيجة

5.times{println "$it"}

ضع في اعتبارك أنك تريد طباعة 0,2,4،XNUMX،XNUMX باستخدام حلقة for في Java

public class Demo {
    public static void main(String[] args) {
        for (int x = 0; x <= 5; x=x+2) {
            System.out.println(x);
        }
    }
}

الإخراج:

0
2
4

يمكنك استخدام طريقة الخطوة لنفسه

0.step(7,2){println "$it"}

رائع- اتخاذ القرار

المالية خداع
إذا البيان كما هو الحال في Java، يتم تنفيذ عبارة if إذا كان الشرط صحيحًا.
إذا / بيان آخر في عبارة if/else في البداية يتم تقييم الشرط في عبارة if. إذا كان الشرط صحيحا ثم تنفيذ العبارات بعد ذلك. يتوقف قبل الشرط else ويخرج من الحلقة. ومع ذلك، إذا كان الشرط غير صحيح، فسيتم تنفيذ العبارات الموجودة في كتلة عبارة else. ثم يخرج من الحلقة.
بيان إذا متداخل يتم استخدامه عندما تكون هناك حاجة إلى عبارات if متعددة.
بيان التبديل يمكن أن تصبح عبارة if-else المتداخلة غيرreadable عندما يكون لديك شروط متعددة. لجعل التعليمات البرمجية أكثر readable يتم استخدام بيان التبديل.
بيان التبديل المتداخل من الممكن أيضًا في Groovy استخدام عبارات التبديل المتداخلة.

قائمة رائع

تسمح لك بنية القائمة بتخزين مجموعة من عناصر البيانات. في لغة برمجة Groovy، تحتوي القائمة على سلسلة من مراجع الكائنات. كما يظهر أيضًا موضعًا في التسلسل. يتم تقديم القائمة الحرفية كسلسلة من الكائنات مفصولة بفواصل ومحاطة بمربع brackets.

مثال على قائمة Grovy:

قائمة السلاسل- ["Angular"، "Nodejs،]

قائمة مراجع الكائنات – ['رائع'، 2,4 2.6]

قائمة القيم الصحيحة – [16، 17، 18، 19]

قائمة فارغة- [ ]

فولوwing هي طرق القائمة المتوفرة في Groovy:

طرق الوصف
إضافة () يسمح لك بإلحاق القيمة الجديدة بنهاية هذه القائمة.
يتضمن() يُرجع صحيحًا إذا كانت هذه القائمة تحتوي على قيمة معينة.
احصل على() إرجاع العنصر في موضع محدد
فارغ() إرجاع القيمة الحقيقية إذا كانت القائمة لا تحتوي على عناصر
ناقص() يتيح لك هذا الأمر إنشاء قائمة جديدة مكونة من العناصر الأصلية باستثناء العناصر المحددة في المجموعة.
زائد() يتيح لك إنشاء قائمة جديدة مكونة من العناصر الأصلية معاً والمذكورة في المجموعة.
pop () إزالة العنصر الأخير من القائمة
إزالة() يزيل العنصر في الموضع المحدد
عكس () قم بإنشاء قائمة جديدة تعكس عناصر القائمة الأصلية
بحجم() إرجاع عدد العناصر في هذه القائمة
فرز() إرجاع نسخة مرتبة

خذ بعين الاعتبار ما يليwing مثال على البرنامج النصي رائع

def y = ["Guru99", "is", "Best", "for", "Groovy"]
println y
y.add("Learning")
println(y.contains("is"))
println(y.get(2))
println(y.pop())

الإخراج:

[Guru99, is, Best, for, Groovy]
true
Best
Learning

خرائط رائعة

Map Groovy عبارة عن مجموعة من أزواج القيمة الأساسية

أمثلة على خرائط Groovy:

  • [البرنامج التعليمي: 'Java، البرنامج التعليمي: 'Groovy] - مجموعة من أزواج القيمة الرئيسية التي تحتوي على البرنامج التعليمي كمفتاح وقيم كل منها
  • [ : ] تمثل خريطة فارغة

فيما يلي قائمة بطرق الخرائط المتوفرة في Groovy.

طرق الوصف
يحتوي علىمفتاح () تأكد من أن الخريطة تحتوي على هذا المفتاح أم لا؟
احصل على() يبحث هذا الأمر عن المفتاح في هذه الخريطة ويعيد القيمة المقابلة. إذا لم تجد أي إدخال في هذه الخريطة، فستعود فارغة.
مجموعة المفاتيح () يسمح بالعثور على مجموعة من المفاتيح في هذه الخريطة
وضع() يربط القيمة المحددة بالمفتاح المحدد في هذه الخريطة. إذا كانت الخريطة تحتوي في وقت سابق على تعيين لهذا المفتاح. ثم سيتم استبدال القيمة القديمة بالقيمة المحددة.
بحجم() إرجاع عدد تعيينات القيمة الرئيسية.
القيم () يقوم هذا الأمر بإرجاع عرض مجموعة من القيم.

مثال رائع:

def y = [fName:'Jen', lName:'Cruise', sex:'F']
print y.get("fName")

الناتج

Jen

رائع- الإغلاقات

الإغلاق الرائع هو جزء من التعليمات البرمجية ملفوف ككائن. إنها بمثابة طريقة أو وظيفة.

مثال على الإغلاق البسيط

def myClosure = {
       println "My First Closure"	
}
myClosure()

الإخراج:

My First Closure

يمكن للإغلاق قبول المعلمات. قائمة المعرفات مفصولة بفواصل

سهم (->) يشير إلى نهاية قائمة المعلمات.

def myClosure = {
       a,b,c->
       y = a+b+c
       println y
}
myClosure(1,2,3)

الإخراج:

6

يمكن أن يؤدي الإغلاق إلى إرجاع قيمة.

def myClosure = {
       a,b,c->
       return (a+b+c)
}
println(myClosure(1,2,3))

الإخراج:

6

هناك العديد من عمليات الإغلاق المضمنة مثل "It"، و"identity"، وما إلى ذلك. يمكن أن تأخذ عمليات الإغلاق عمليات إغلاق أخرى كمعلمات.

رائع مقابل. جافا

رائع جافا
في Groovy، يكون محدد الوصول الافتراضي عامًا. وهذا يعني أن الطريقة التي لا تحتوي على أي معدّل وصول محدد تكون عامة ويمكن الوصول إليها خارج حدود الفئة والحزمة. في Java، معدّل الوصول الافتراضي هو حزمة، على سبيل المثال، إذا لم تحدد معدّل الوصول للحقول أو الأساليب أو الفئة، يصبح خاصًا بالحزمة،
يتم إنشاء الحروف والمحددات تلقائيًا لأعضاء الفصل. جافا، تحتاج إلى تحديد طريقة الحروف والمحددات للحقول
يتيح Groovy استخدام الاستبدال المتغير double علامات الاقتباس مع السلاسل. لا تدعم Java الاستبدال المتغير.
كتابة المعلومات اختيارية. كتابة المعلومات إلزامية في جافا.
رائع ليس من الضروري أن ينتهي بفاصلة منقوطة. في Java، تنتهي كل عبارة بفاصلة منقوطة.
يعد Groovy تلقائيًا فئة تغليف تسمى Script لكل برنامج في Java، تحتاج إلى الطريقة الرئيسية لجعل الفصل قابلاً للتنفيذ.

أساطير حول جروفي

أسطورة واقع
يمكننا استخدام Groovy فقط للبرمجة النصية. يمكن استخدامه في البرمجة النصية. ومع ذلك، يمكنك القيام بالعديد من المهام الأخرى بخلاف ذلك.
رائع هو كل شيء عن عمليات الإغلاق. "انه فقط لغة البرمجة الوظيفية". يعتمد Groovy على لغات البرمجة الوظيفية مثل Lisp أو Closure.
يعد Groovy خيارًا مثاليًا إذا كنت تريد القيام بـ TDD هذا البيان صحيح. ومع ذلك، فمن المؤكد أن هذا ليس السبب الوحيد لاستخدام Groovy.
لا يمكنك استخدام Groovy إلا إذا كنت تريد استخدام Grails. Grails هو إطار عمل قوي لتطوير الويب.

لكن Groovy يقدم أكثر من ذلك.

سلبيات استخدام رائع

  • وقت بدء البرنامج النصي JVM وGroovy بطيء مما يحد من البرمجة النصية على مستوى نظام التشغيل
  • لا يتم قبول Groovy تمامًا في المجتمعات الأخرى.
  • ليس من المناسب استخدام Groovy دون استخدام IDE
  • يمكن أن يكون Groovy أبطأ مما يزيد من وقت التطوير
  • قد يحتاج Groovy إلى الكثير من الذاكرة
  • معرفة جافا أمر حتمي.

أدوات رائع

سنناقش 3 أدوات مهمة في هذا البرنامج التعليمي لبرنامج Groovy النصي

1. رائع: ينفذ التعليمات البرمجية بشكل تفاعلي.

2.groovyConsole: واجهة المستخدم الرسومية لتنفيذ التعليمات البرمجية التفاعلية

3. رائع: ينفذ البرامج النصية الرائعة. يمكنك استخدامه مثل بيرل, بايثون، الخ.

جروفيش

  • قذيفة سطر الأوامر
  • يساعدك على تنفيذ كود Groovy بشكل تفاعلي
  • يسمح بإدخال البيانات أو البرامج النصية بأكملها

أدوات رائع

وحدة تحكم رائعة

  • Swing الواجهة التي تعمل بمثابة محرر تطوير Groovy البسيط.
  • يسمح لك بالتفاعل مع كود Groovy
  • يساعدك على تحميل وتشغيل ملفات البرنامج النصي Groovy

أدوات رائع

رائع

إنه المعالج الذي ينفذ برامج ونصوص Groovy. ش

يمكن استخدامه لاختبار تعبيرات Groovy البسيطة.

أدوات رائع

نبذة عامة

  • Groovy هي لغة برمجة موجهة للكائنات تستخدم لمنصة Java
  • توفر البرمجة النصية الرائعة تكاملًا سلسًا مع جميع كائنات ومكتبات Java الموجودة
  • بوب ماكWhirقام تير وجيمس ستراشان بتطوير لعبة رائع في عام 2003
  • تعد القائمة والخريطة والنطاق والتعبيرات الحرفية العادية من الميزات المهمة في Groovy
  • أربعة نوع من operaالدعم المقدم من Groovy هو 1. علائقي 2. منطقي 3. بتwise 4. مهمة
  • أجرى Groovy عملية اتخاذ القرار باستخدام عبارات if، if/else، Nested if، Switch، Netsted
  • تسمح لك بنية القائمة بتخزين مجموعة من عناصر البيانات
  • Map Groovy عبارة عن مجموعة من أزواج القيمة الأساسية
  • في Groovy، يتم إنشاء Getters وSetters تلقائيًا لأعضاء الفصل
  • في Java، يمكنك استخدام أسلوب getters وsetters للحقول
  • أكبر أسطورة حول Groovy هي أنه لا يمكن استخدامه إلا في البرمجة النصية وهو أمر غير صحيح
  • في بعض الأحيان يمكن أن يكون Groovy أبطأ مما يزيد من وقت التطوير
  • ثلاث أدوات رائعة هي: groovysh الذي ينفذ التعليمات البرمجية، وgroovy Console وهو واجهة المستخدم الرسومية لتنفيذ التعليمات البرمجية التفاعلية، وgroovy الذي ينفذ البرامج النصية