آموزش زبان برنامه نویسی Groovy – جلسه اول (Syntax)
در مورد آموزش زبان برنامه نویسی Groovy باید بگوییم که زبان Groovy بر اساس پلتفرم جاوا طراحی شده است و یک زبان قدرتمند و پویا به شمار می رود. هدف از طراحی این زبان را می توان افزایش میزان بهره وری توسعه دهنده دانست که دارای اهمیت بسیار زیادی است و به راحتی می توانیم آن را در کنار زبان برنامه نویسی جاوا مورد استفاده قرار دهیم. از جمله مهم ترین ویژگی های این زبان می توان به نوشتن برنامه های مربوط به دامنه، زمان اجرا و زبان برنامه نویسی متا اشاره داشت و باید بدانید که زبان برنامه نویسی بسیار کاربردی می باشد.
در فصل اول آموزش زبان برنامه نویسی Groovy در مورد منطق(Syntax)، شما می توانید با دستور زبان گرووی آشنا شوید و همچنین مشاهده خواهید کرد که این دستور زبان تا حد بسیار زیادی مانند برنامه نویسی جاوا می باشد. در واقع ساده سازی های بسیاری در این زبان وجود دارد و شما می توانید در حین کار با Groovy از آن ها استفاده کنید.
کامنت (توضیحات برنامه نویس)
کامنت تک خط
برای نوشتن کامنت تک خط در این زبان می توانید از علامت // پیش از خط مربوط به کامنت استفاده کنید.
تمامی نوشتار پس از این دستور به عنوان توضیحات در نظر گرفته می شوند. مانند:
// a standalone single line comment println "hello" // a comment till the end of the line
کامنت چند خط
برای نوشتن کامنت های چند خطی می توانید از دستور /* استفاده کنید و این کار باعث می شود تا تمامی خطوط نوشته شده پیش از استفاده دوباره از دستور /* به عنوان کامنت در نظر گرفته شود. این مسئله شامل تمامی خطوط می شود و حتی در صورتی که از دستورات مربوط به برنامه نویسی استفاده کرده باشید، باز هم این دستورها تاثیری در برنامه شما نخواهد داشت. در قسمت های مختلف کد نویسی می توانید از این دستور استفاده کنید. به دستورات زیر توجه کنید تا درک واضح تری از کامنت چند خطی داشته باشید.
/* a standalone multiline comment spanning two lines */ println "hello" /* a multiline comment starting at the end of a statement */ println 1 /* one */ + 2 /* two */
کامنت Groovydoc
این سری از کامنت ها نیز مانند کامنت های چند خطی شروع می شود و برای شروع از دستور /** استفاده می گردد ولی برای پایان مانند کامنت چند خطی معمولی از دستور /* استفاده می شود. با استفاده از این دستور اما می توانید برخی از دستورات را با استفاده از علامت * از غیر فعال بودن استثنا کنید که این مسئله به خصوص برای تعریف مربوط به کلاس ها، فهرست ها، حاشیه نویسی و رابط ها مورد استفاده می شود. شما همچنین می توانید زمینه ها و تعریف های مربوط به خصوصیت ها و تعاریف مربوط به روش ها را با استفاده از این شیوه کامنت نویسی استثنا کنید. در صورتی که قصد دارید از کامنت ها استفاده داشته باشید، باید به نوع مورد نظر خود توجه داشته باشید و بر این اساس کامنت مورد نظر خود را انتخاب کنید. در ادامه مثالی از کامنت Groovydoc را برای استفاده در مورد آموزش زبان برنامه نویسی Groovy برای شما بیان خواهیم کرد.
/** * A Class description */ class Person { /** the name of the person */ String name /** * Creates a greeting method for a certain person. * * @param otherPerson the person to greet * @return a greeting message */ String greet(String otherPerson) { "Hello ${otherPerson}" } }
دستور Groovydoc می تواند مانند Javadoc باشد و نشان دهنده پیروی این زبان برنامه نویسی از جاوا می باشد. پس می توانید با استفاده از دستوراتی مانند Javadoc نیز نسبت به استفاده از کامنت ها اقدام کنید. همچنین در آموزش زبان برنامه نویسی Groovy نسخه ۳٫۰٫۰ از دستور Runtime Groovydoc نیز پشتیبانی می شود که نشان دهنده آن است که این زبان برنامه نویسی در زمان اجرا نیز از Groovydoc استفاده می کند.
Runtime Groovydoc is disabled by default. It can be enabled by adding JVM option -Dgroovy.attach.runtime.groovydoc=true
برای استفاده از دستور Runtime Groovydoc می توانید از دستور /**@ استفاده کنید و در پایان نیز می توانید از دستور */ استفاده داشته باشید. به مثال زیر توجه کنید :
خط Shebang
در کنار کامنت های یک خطی شما می توانید از Shebang نیز استفاده کنید که در سیستم Unix قابلیت درک دارد و می تواند به شما اجازه آن را بدهد تا به صورت مستقیم دستورات را از خط فرمان اجرا کنید. در صورتی که سیستم توزیع Groovy را نصب کرده باشید و امکان استفاده از دستورات را در بیان آموزش زبان برنامه نویسی Groovy با شما در میان می گذاریم. به مثال زیر توجه کنید :
#!/usr/bin/env groovy println "Hello from the shebang line"
کلمات کلیدی زبان برنامه نویسی Groovy
کلماتی که در ادامه بیان می شود، لیستی از کلمات کلیدی است که در آموزش زبان برنامه نویسی Groovy با شما در میان خواهیم گذاشت :
as |
assert |
break |
case |
catch |
class |
const |
continue |
def |
default |
do |
else |
enum |
extends |
false |
finally |
for |
goto |
if |
implements |
import |
in |
instanceof |
interface |
new |
null |
package |
return |
super |
switch |
this |
throw |
throws |
trait |
true |
try |
var |
while |
شناسه ها
شناسه های معمولی
شناسه ها با یک حرف، علامت دلار یا یک خط در قسمت زیر شروع می شوند. این شناسه ها نمی توانند با یک عدد شروع شوند.
یک شناسه می تواند در محدوده زیر باشد:
- شناسه های a تا z (شروع شونده با حرف کوچک)
- شناسه های A تا Z (شروع شوند با حرف بزرگ)
- شناسه ‘\u00c0’ تا ‘\u00D6’
- شناسه ‘\u00D8’ تا ‘u00F8’
- شناسه ‘\u00F8’ تا ‘\u00FF’
- شناسه ‘\u0100’ تا ‘\uFFFE’
پس از آن می توانید از حروف و اعداد نیز استفاده کنید. در ادامه برخی از شناسه های معتبر برای نام متغیر ها را برای شما قرار داده ایم :
def name def item3 def with_underscore def $dollarStart
اما شناسه ای که در ادامه بیان خواهیم کرد، غیر معتبر می باشند.
def 3tier def a+b def a#b
تمامی کلمات کلیدی نیز به عنوان شناسه ای معتبر شناخته می شود در صورتی که از نقطه در میان آن ها استفاده کرده باشیم. برای مثال :
foo.as foo.assert foo.break foo.case foo.catch
شناسه های نقل قول دار
شناسه هایی که نقل شده باشند، به صورت یک عبارت نقطه دار ظاهر می شوند و به عنوان مثال قسمت name در عبارت person.name به عنوان یک نقل از name برای person در نظر گرفته می شود. باید بدانید که شناسه های مشخص با نویسه های جاوا همخوانی ندارند را نمی توانیم استفاده کنیم ولی در صورتی که از نقل Groovy استفاده کنیم، این نقل قول ها مجاز می باشند. برای مثال، شناسه هایی که با یک خط تیره، فاصله یا علامت تعجب شروع شده باشند.
def map = [:] map."an identifier with a space and double quotes" = "ALLOWED" map.'with-dash-signs-and-single-quotes' = "ALLOWED" assert map."an identifier with a space and double quotes" == "ALLOWED" assert map.'with-dash-signs-and-single-quotes' == "ALLOWED"
همانطور که در ادامه در مورد رشته ها (String) بیان خواهیم کرد، در متن Groovy می توانیم از کلمات مختلفی استفاده کنیم. در واقع می توانیم انواع رشته ها را بعد از نقطه مورد استفاده قرار دهیم :
map.'single quote' map."double quote" map.'''triple single quote''' map."""triple double quote""" map./slashy string/ map.$/dollar slashy string/$
بین رشته های کاراکتر دار ساده و رشته های G در بحث آموزش زبان برنامه نویسی Groovy تفاوت هایی وجود دارد چرا که مقادیر درون یابی شده برای ارزیابی کل شناسه در رشته نهایی قرار داده می شود.
def firstname = "Homer" map."Simpson-${firstname}" = "Homer Simpson" assert map.'Simpson-Homer' == "Homer Simpson"