ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

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

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:23
مجموع:مجموع:23
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

آشنایی با awk بخش چهارم

(401 مجموع کلمات موجود در متن)
(5354 بار مطالعه شده است)  نسخه چاپی

آشنایی با awk بخش چهارم


توابع در awk
تــوابع در awk به دو دسته کلی تقسیم می‌شـــونــد. تــوابـــع درونی (Builtin) و تـــوابـــع تعـــریــف شـــده تـوسط کاربر (User Defined). تــوابــع درونـــی خـــود به سه دسته اصلی عددی (numeric)، رشته (string) و ورودی/خروجی (I/O) تقسیم می‌شــوند. هــمـــواره می‌توانید از توابع درونی در برنامه‌های awk خود استفاده کنید.

فراخوانی توابع درونی
برای فراخوانی توابع درونی کافی است نام آنرا به همراه آرگومانهای لازم درون پرانتر بنویسید. به عنوان مثال:

atan2(y+z, 1)

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

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

توابع عددی
در این قسمت با تعدادی از توابع درونی عددی آشنا خواهید شد. آرگومان‌های اختیاری درون براکت نمایش داده شده‌اند.

int(X)

این تابع نزدیکترین عدد صحیح نزدیک به X بین X و صفر و گرد شده به سمت صفر را را بر خواهد گرداند. برای مثال:

int(3) =3, int(3.9) = 3, int(-3.9) = -3, int(-3) = -3

sqrt(X)

این تابع مجزور X را باز خواهد گرداند. برای مثال:

sqrt(4) = 2

exp(X)

این تابع نمای X را باز خواهد گرداند. در صورتی کـــه X خـارج از محدوده باشد، یک پیغام خطا چاپ خواهد کرد. محدوده X بستگی به پردازنده سیستم شما دارد.

log(X)

این تابع لگاریتم X را در صورتی که X مثبت باشد، باز خواهد گرداند. در غیر اینصورت، پیغام خطایی چاپ می‌شود.

sin(X)

این تابع سینوس زاویه X را باز خواهد گرداند.

cos(X)

این تابع کسینوس زاویه X را باز خواهد گرداند.

atan2(y,x)

این تابع آرکتانژانت زاویه y به x را باز خواهد گرداند.

rand()

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

function randint(n) {
               return int(n * rand())
          }

تابع بالا اعداد صحیح بین صفر و n-1 را بر خواهد گرداند.

srand([X])

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

ترجمه و اضافات: آلن باغومیان alan@technotux.com
منبع: http://linuxgazette.net/issue67/nazario.html ، GNU/Awk User's Guide

PDF Version

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.