یک فن

خیلی بزرگ، خیلی کُند

صفحه راهنمای bash، این باگ را برای آرایه‌های انجمنی (Associative Arrays) فهرست کرده است: بسیار بزرگ و کند است. اگر شما نیز با این مساله موافقید، بهتر است ادامه بخش یک فن را نخوانید، اما اگر از پیشرفته‌ترین نرم‌افزارها استفاده می‌کنید و معتقدید که دقت بهتر از سرعت است، پس بهتر است ادامه این مطلب را مطالعه کنید.
کد خبر: ۳۲۷۳۳۷

آرایه‌های انجمنی در نگارش جدید بش همان چیزی هستند که انتظارش می‌رود:

declare -A aa

aa[hello]=world

aa[ab]=cd

نشان –A برای تعریف aa به‌کار می‌رود و آن‌را از نوع آرایه انجمنی مشخص می‌کند. از آن به‌ بعد می‌توان به‌سادگی با نوشتن اندیس مورد نظر و یک مساوی، مقدارهای مختلف را به آن نسبت داد. برای نسبت دادن چند مقدار هم‌زمان از دستور زیر استفاده می‌شود:

declare -A aa

aa=([hello]=world [ab]=cd)

دریافت مقادیر نیز به‌همان نسبت ساده است:‌

if [[ ${aa[hello]} == world ]]; then

echo equal

fi

bb=${aa[hello]}

همچنین می‌توان از اندیس‌هایی استفاده کرد که دارای کاراکتر فاصله یا دیگر کاراکترهای غیرمجاز هستند:

aa[“hello world”]=”from bash”

قبل از اتمام این بحث نیز به‌ ویژگی دیگری اشاره می‌کنیم که‌به‌نظر جالب می‌رسد و آن هم استفاده از عملگر += است.

aa=(hello world)

aa+=(b c d)

حالا این آرایه شامل 5مقدار است و مقادیری که با عملگر += اضافه کرده‌ایم، به انتهای آرایه اضافه خواهند شد.

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها