در این سری آموزش ها به مرور و با حوصله مباحث آموزشی برنامه نویسی به زبان اسکالا را مرور خواهیم کرد.

در سری قسمت مبانی موارد زیر را دنبال خواهیم کرد :
- مفسر scala
- اعلان متغییرها و مقادیر

سطح نوشته :‌ مقدماتی

در ادامه مطلب همراه ما باشید :)


مفسر اسکالا

برای شروع با مفسر اسکالا :
- مطمین بشید که اسکالا را نصب کردید
- مطمین بشید که مسیر scala/bin را در متغیر محیطی PATH قرار دادید
- پوسته‌ی خط فرمان سیستم عامل خودتان را اجرا کنید
- واژه‌ی scala را تایپ کنید و انتر بزنید
نکته : اگر در موارد بالا مشکل دارید نگاهی به مقاله نصب اسکالا در لینوکس و ویندوز بکنید

حالا دستوراتتون را وارد کنید و کلید enter را بزنید. در هربار مفسر پاسخ را به شما نمایش می‌دهد. به مثال های زیر توجه کنید :
scala> 8 * 5 + 2
res0: Int = 42
پاسخ در شی‌ای بنام res0 قرار گرفته. میتوانید از آن در دستورات بعدی استفاده کنید :
scala> 0.5 * res0
res1: Double = 21.0
scala> "Hello, " + res0
res2: java.lang.String = Hello, 42

همانطور که ملاحظه می‌کنید مفسر انواع مختلف نوع‌ها را هم به ما نمایش می‌دهد. در این مثال : Int,Double,java.lang.String

شما میتوانید در مفسر متدها را هم فراخانی کنید. و برای اینکار میتوانید از قابلیت tab complition استفاده کنید. به این معنی که بخشی از عبارت متد را تایپ کنید و سپس برای نکمیل خودکار آن از کلید tab در کیبورد استفاده کنید.

نکته : اکیدا توصیه می‌شود تمام مثالها را خودتان آزمایش کنید.

برای مثال متد toUpperCase را برای res2 فراخانی کنید (res2.toUpperCase). این متد تمام حروف را بصورت حروف بزرگ نمایش می‌دهد.


کمی در عمق : همانطور که ملاحظه می‌کنید مفسر اسکالا عبارت را میخواند (read)، ارزیابی میکند(evaluates)، چاپ می‌کند(print) و سپس دوباره عبارت بعدی. اسم اینکار را REPL میگذارند. REPL‌ چیست ؟ print-eval-read loop !

اگرفنی صحبت کنید، برنامه‌ی scala مفسر نیست. در پشت صحنه برنامه خیلی سریع کد شما را می‌خواند و آن را به بایت کدهای جاوا کامپایل می‌کند و کدبایت‌ها هم توسط ماشین مجازی جاوا اجرا ‌می‌شوند.


اعلان متغیرها و مقادیر

میتوانید بجای استفاده از اسامی res0 و res1‌ از متغیرها استفاده کنید :

scala> val answer = 8 * 5 + 2
answer: Int = 42

و این نام‌ها را هم می‌توانید براحتی در عبارات بعدی بکار بگیرید :

scala> 0.5 * answer
res3: Double = 21.0
مقادیری که با کلمه‌ی کلیدی val اعلان شده‌اند در اصل ثابت هستند (constant) و نمی‌توان مقدار آنها را تغییر داد :
scala> answer = 0
<console>:6: error: reassignment to val

برای تعریف متغیر باید از کلمه کلیدی var استفاده کنید :

var counter = 0
counter = 1 // OK, can change a var

هر زمان که نیاز داشته باشید می‌تواند نوع داده را هم مشخص کنید :

val greeting: String = null
val greeting: Any = "Hello"

نکته : در اسکالا نام نوع متغیر یا تابع همیشه بعد از اسم متغیر یا تابع می‌آید.

نکته : احتمالا متوجه شدید که از سمی‌کالن استفاده نمی‌کنیم. استفاده از سمی‌کالن در زمانی ضروری است که می‌خواهید در یک خط بیش از یک عبارت را اعلان کنید.

همچنین می‌توانید چند متغیر را در یک خط و یک عبارت اعلان کنید. به مثال زیر توجه کنید :

val xmax, ymax = 100 // Sets xmax and ymax to 100
var greeting, message: String = null
// greeting and message are both strings, initialized with null


خب، خیلی مختصر و بنظر خودم مفید این ۲ موضوع معرفی شد. در قسمت بعدی به موضوع های دیگری می‌پردازیم‌‌ :)

موفق باشید.