تبلیغات

آموزش به دست آوردن طول آرایه در بچ اسکریپت

قبلا در لینک زیر، به آموزش آرایه‌ها در بچ اسکریپت پرداخته شد:

آرایه‌ها در بچ اسکریپت

اکنون ممکن است نیاز داشته باشیم تا طول یک آرایه را بدست آوریم. از آنجایی که آرایه در بچ اسکریپت وجود نداشته و ما آرایه‌ها را به روشی غیرواقعی تعریف می‌کنیم، برای به‌دست آوردن طول آرایه‌ها می‌توان به صورت زیر عمل کرد:

@ECHO off

SET numbers[0]=1
SET numbers[1]=2
SET numbers[2]=3
SET numbers[3]=4
CALL :arrayLength numbers arrayLength
ECHO The array length is %arrayLength%.
PAUSE

:arrayLength
SETLOCAL enabledelayedexpansion
SET /A length=0
SET /A index=0
:arrayLength_loop
IF DEFINED %1[%index%] (
   SET /A length+=1
   SET /A index+=1
   GOTO arrayLength_loop
)
(ENDLOCAL & SET %2=%length%)

در اینجا ما یک آرایه‌ای از اعدا داریم. سپس بلاک کدی به نام arrayLength تعریف کردیم. این بلاک کد در بالا فراخوانی شده و دو ورودی numbers و arrayLength نیز به داخل آن ارسال شدند. ورودی اول همان آرایه است؛ ورودی دوم نیز اسم دلخواهی می‌باشد که قصد داریم طول آرایه در آن ذخیره شود.

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

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

یه کلاسِ تعریف نشده ... فقط برای ارتباط کاری تلگرام پیام بدید ...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک