امکانات انجمن
  • مهمانان محترم می توانند بدون عضویت در سایت در بخش پرسش و پاسخ به بحث و گفتگو پرداخته و در صورت وجود مشکل یا سوال در انجمنن مربوطه موضوع خود را مطرح کنند

moharram

iran rules jazbe modir
snapphost mahak

sh3ikhshahin

 مدیر بازنشسته
  • تعداد ارسال ها

    4,133
  • میانگین پستها در طول روز

    6
  • امتیاز

    14,782 
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    30

آخرین بار برد sh3ikhshahin در 20 مرداد

sh3ikhshahin یکی از رکورد داران بیشترین تعداد پسند مطالب است !

درباره sh3ikhshahin

  • درجه
    VICE of ANONYMOUS

مشخصات کاربر

  • جنسیت
    آقا | Male
  • محل سکونت
    Tehran

آخرین بازدید کنندگان نمایه

2,162 بازدید کننده نمایه
  1. Programming-Perl

    زمانی که يک برنامه شروع می شود ٣ اتصال مهم که در هر برنامه ای که ايجاد می شود وجود دارد : STDIN, STDOUT, and STDERR در اصل اين اسامی Handle File های ما هستند . Handle File ها متغيرهايی هستند که در استفاده و کار با فايلها استفاده می شوند . به Handle File ها قبل از کار با فايلها نياز داريم . STDIN ، Handle File ای است که از ورودی های استاندارد موجود ورودی ها را می خواند مثل : کی بورد ، اسکريپتهای نرمال Perl و ساير عناصر ورودی ما در سيستم . SDTOUT و SDTERR ، Handle File ای است که در پورت خروجی می نويسد . يکی از توابعی که در درسهای گذشته استفاده کرديم ، ()print بود که حال دريافتيم که اين تابع برای برای HANDLE FILE SDTOUT استفاده می شود . : SDTIN File handle از استفاده خواندن از ورودی مانند خواندن از صفحه کليد يکی از ساده ترين و پرکاربردترين SDTIN هايی است که در Perl از آن استفاده می شود . اين کار در DOS بوسيله کليد Z+Ctrl و در UNIX بوسيله D-Ctrl صورت خواهد گرفت . while (<STDIN>) { print(); } کاراکترهای <> اين اجازه را به شما می دهند که يک خط روردی را از Handle File SDTIN بخوانيد . while ($inputLine = <STDIN>) { print($inputLine);
  2. Programming-Perl

    همانطور که می دانيد فايلها مجموعه ای از بايتهای اطلاعاتی می باشند که در رسانه های ذخيره سازی مانند ديسک سخت ذخيره شده اند . مزيت استفاده از فايلها اين است که پايداری آنها طولانی مدت است و مدت زمان زيادی می توان آنها را نگهداری کرد . در اين فصل شما با چگونگی کار با فايلها در زبان برنامه نويسی Perl آشنا خواهيد شد . در Perl ، ۴ عملگر اصلی کار با فايلها وجود دارد : Open File – ١ Read From File – ٢ Write To File – ٣ Close File – ۴ در باز کردن يک فايل ، يک اتصال بين برنامه کاربردی شما و موقعيت ذخيره سازی فايل در ديسک سخت ايجاد می شود که در بستن يک فايل اين اتصال از بين می رود . هر يک از فايلها يک نام کامل منحصر بفرد ( طبق قواعد نامگذاری فايلها ) دارند که نمی توانند توسط ساير فايلها مغشوش شوند . اين نام کامل منحصر بفرد شامل : نام ديسک سخت ، دايرکتوری و نام خود فايل می باشد . شايد اين سوال در ذهن شما ايجاد شود که چگونه می توان در ديسک سختمان و در چند دايرکتوری مختلف چند فايل با نامهای يکسان داشت ؟ پاسخ اين است که همانطور که گفته شد ، دايرکتوری هم جزء نام کامل فايل می باشد . پس اگر نام دايرکتوريشان متفاوت باشد ، می توان چند فايل هم نام ( در دايرکتوری های متفاوت داشت ) . به چند نام کامل فايل توجه کني
  3. Programming-Perl

    توابع بلاکی از کدها(کد) می باشند که شما می توانيد در طول برنامه اصليتان بوسيله نامی که برای تابع مورد نظرتان انتخاب کرده ايد آن را صدا زده و از آن استفاده نماييد . توابع اين امکان را فراهم می سازند که بتوانيد برنامه اصلی رل به قطعاتی از کد جدا کنيد تا راحتتر بتوانيد آنرا تست کنيد . تعريف تابع در Perl: sub functionName { } همچنين توابع می توانند مقاديری را بعنوان ورودی تابع داشته باشند . پارامترهای ورودی تابع در يک آرايه به نام _@ذخيره می شوند . $areaOfFirstCircle = areaOfCircle(5); print("$areaOfFirstCircle\n"); sub areaOfCircle { $radius = $_[0]; return(3.1415 * ($radius ** 2)); } This program prints: 78.7375 توابع با پارامتر ورودی Array: همانطور که گفته شد پارامترهای ورودی توابع در Perl در آرايه _@ ذخيره می شوند . يکی از مزايای آن اين است که برنامه نويس می تواند دريابد که چه تعداد پارامتر به تابع ای که تعريف کرده پاس داده است . برای درک بهتر مطلب گفته شده به مثال زير توجه کنيد : firstSub(1, 2, 3, 4, 5, 6); firstSub(1..3);
  4. Programming-Perl

    عملگرهای رشته ای : زبان برنامه نويسی Perl دو عملگر مهم رشته ای دارد : ١ – عملگر اتصال ( . ) : عملگر «.» برای متصل کردن دو رشته بکار می رود : $first_name = "David"; $last_name = "Marshall"; $full_name = $first_name . " " . $last_name; print ($full name); خروجی خواهد بود : David Marshall ٢ - عملگر تکرار رشته ( X : ( اين عملگر «X «برای تکرار رشته بکار می رود : $first_name = "David"; $david_cubed = $first_name x 3; print($david_cubed); خروجی خواهد بود : DavidDavidDavid اين برنامه David را ٣ بار در خروجی تکرار کرده است
  5. Programming-Perl

    خروجی 1 -نشان می دهد که (8 (lowVar $کوچکتر از(10 (midVar $می باشد . $lowVar = "AAA"; $midVar = "BBB"; $hiVar = "ccC"; print($lowVar cmp $midVar, "\n"); print($midVar cmp $midVar, "\n"); print($hiVar cmp $midVar, "\n"); خروجی برنامه بصورت زير خواهد بود : -1 0 1
  6. Programming-Perl

    چند مثال از عملگرهای مقايسه ای و رابطه ای : if ( ($var ne "0") && ($var == 0)) { } var $يک مقدار عددی می باشد . $lowVar = 8; $midVar = 10; $hiVar = 12; print($lowVar <=> $midVar, "\n"); print($midVar <=> $midVar, "\n"); print($hiVar <=> $midVar, "\n");
  7. Programming-Perl

    يا عملگر or انحصاری که يا xor که در صورتيکه بيتهای هر دو عملگر يا هيچکدام از بيتهايشان ١ نباشد و يا همه بيتهايشان ١ باشد و در غير اين صورت نتيجه برگشت داده شده ٠ خواهد بود . ~op1 -- The COMPLEMENT : اين عملگر تمامی بيتهای متغير را عکس می کند . ٠ ها را تبديل به ١ و ١ ها را تبديل به ٠ خواهد کرد . op1 >> op2 -- The SHIFT RIGHT : اين عملگر op1 را به تعداد op2 به سمت راست شيفت می دهد . op1 << op2 -- The SHIFT LEFT : اين عملگر op1 را به تعداد op2 به سمت چپ شيفت می دهد . برای درک بهتر مطالب گفته شده به دو مثال ذکر شده توجه کنيد : $firstVar = 128; $secondVar = $firstVar << 3; print $secondVar; خروجی برنامه خواهد بود : 1024 $firstVar = 128; $secondVar = $firstVar >> 2; print("$secondVar\n"); خروجی برنامه خواهد بود : 32
  8. Programming-Perl

    نماد اين عملگر بصورت زير می باشد : !op1 مثالهای عملگرهای منطقی : if ($firstVar == 10 && $secondVar == 9) { print("Error!"); }; $firstVar = 10; $secondVar = !$firstVar; if ($secondVar == 0) { print("zero\n"); }; عملگرهای بيتی : اين نوع از عملگرها شباهت زيادی به عملگرهای منطقی دارند . بجز اينکه اين نوع عملگرها در مقياس کوچکتری اعمال می شوند – در نمايش باينری داده ها . : op1 & op2 -- The AND operator اين عملگر دو بيت را با هم مقايسه می کند و در صورتی که هر دو بيت يک باشند نتيجه ١ می باشد و در غير اين صورت نتيجه برگشت داده شده ٠ خواهد بود . op1 | op2 -- The OR operator : اين عملگر دو بيت را با هم مقايسه می کند و در صورتی که هر دو بيت متمم يکديگر باشند نتيجه ١ می باشد و در غير اين صورت نتيجه برگشت داده شده ٠ خواهد بود . op1^ op2 -- The EXCLUSIVE-OR :
  9. Programming-Perl

    در اين شکل از حلقه به تعداد عناصر يک ليست تکرار می شود : for ( initialise_expr; test_expr; increment_expr ) { statement(s); } مثال : for ( $i = 1; $i <= 10; ++$i ) { # count to 10 print "$i\n"; } Until Loop : نوع عملکرد اين نوع از حلقه های تکرار مانند While می باشد با اين تفاوت که While تا زمانی دستورات آن اجرا می شود که شرط حلقهTrue باشد اما Until تا زمانی انجام می شود که شرط حلقه False باشد : i = 1; until ( $i > 10 ) { # count to 10 print "$i\n"; ++$i; } عملگرهای منطقی در Perl: : And نماد اين عملگر در زبان برنامه نويس Perl بصورت زير می باشد : op1 && op2 : Or نماد اين عملگر بصورت زير می باشد : op1 || op2
  10. Programming-Perl

    Conditional Operations فرمت و شکل کلی else – then – if در ادامه بحث مورد بررسی قرار می گيرد : if ( condition is true ) { execute these commands } else { execute those commands } در شکل کلی که در بالا آمده است وجود شرطelse اختياری می باشد . عبارت else – then – if بصورت زير نيز می تواند باشد : if ( condition is true ) { execute these commands } elsif {execute those commands } elsif {execute those commands } else { execute those commands } Loop Operations در ادامه بحث ساختار حلقه های While ـ For ـ مورد بررسی قرار می گيرد : While loop : ساده ترين نوع حلقه ، حلقه While می باشد که تا زمانيکه شرط حلقه درست باشد ، اجرا می شود : for ( initialise_expr; test_expr; increment_expr ) { statement(s); } مثال : $a = 0; While ($a < 10 ) { Print “Still continue … $a\n”; $a++;
  11. Programming-Perl

    در Perl هم از اين قاعده استفاده می شود و برای همين ARGV $#با يک جمع شد تا تعداد واقعی ARGV $#بدست آيد . نکته قابل توجه ديگر در مورد ARGV @می باشد که با کاراکتر $ شروع نشده است بلکه با @ شروع شده است ( همانطور که گفته شد متغيرها در اسکريپتها با کاراکتر $ مشخص می شوند ) . علت اين است که ARGV @آرايه ای از متغير هاست . آرايه ها ليستی از مقادير هستند که هر يک از مقادير اين ليست با استفاده از کاراکتر $ و ايندکس آن قابل دسترسی می باشد : @ARGV is an array that is including $ARGV[1] , $ARGV[2] , … , $ARGV[n]
  12. Programming-Perl

    Arguments and other Special Variables : آرگومانها مقاديری هستند که ما در زبان Perl به اسکريپتها پاس می دهيم .هر مقداری در هر خط از دستور العمل بعد از نام اسکريپت به متغير خاصی Assign خواهد شد . شماره آرگومانهای پاس داده شده در اسکريپت در متغير خاصی به نام ARGV $#ذخيره می شود . و آرگومان رشته ای اصلی در متغير در ARGV @قرار دارد . همچنين نام برنامه اخيری که اجرا شده است در متغير 0 $قرار دارد . حال يک فايل اجرايی به نام pl.testvars بر روی سيستم می سازيم ( طريقه ساخت آن گفته شده ) و دستورات زير بهمراه خروجی اجرای آنها را مورد بررسی قرار می دهيم تا مطالب گفته شده را بهتر درک کنيد #!/usr/bin/perl print "My name is $0 \n"; print "First arg is: $ARGV[0] \n"; print "Second arg is: $ARGV[1] \n"; print "Third arg is: $ARGV[2] \n"; $num = $#ARGV + 1; print "How many args? $num \n"; print "The full argument string was: @ARGV \n"; ------------------------------------------ Out put : $ ./testvars dogs can whistle My name is testvars.pl First arg is: dogs Second arg is: can Third arg is: whistle How many args? 3 The full argument string was: dogs can whistle نکته قابل توجه اين است که همانطور که در محاسبه args many How می بينيد ، برای محاسبه آن 1 + ARGV $#استفاده شد ، يعنی ARGV $#را با يک جمع کرديم ، علت چيست ؟ اگر با زبان برنامه نويسی c کار کرده باشيد می دانيد که شماره آرايه ها و آرگومانها از صفر شروع می شود
  13. Programming-Perl

    PROMPT : $p$g CLASSPATH : .\;e:\jdk\classes; TEMP : C:\WINDOWS\TEMP COMSPEC : C:\WINDOWS\COMMAND.COM CMDLINE : perl -w 12lst01.pl BLASTER : A220 I10 D3 H7 P330 T6 WINDIR : C:\WINDOWS PATH : C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PERL5\BIN; TZ : GMT-05:00 ساير متغيرهای ويژه در Perl: ساير متغيرهای ويژه ای که در زبان برنامه نويسی Perl کاربرد دارند را ( تعدادی از آنها را ) مشاهده خواهيد کرد : _$ : پارامتر پيش فرض برای بسياری از توابع #$ : فرمت پيش فرض برای اعداد چاپ شده 0 : $نام فايلی را در خود دارد که فايل مورد نظر شامل Script اجرا شده توسط زبان Perl می باشد . @$ : حاوی پيغام error syntax می باشد . X : $^شامل مسير کامل مفسر زبان Perl زمانيکه يک script صحيح را اجرا می کند
  14. Programming-Perl

    @database = ( \%recordOne, \%recordTwo ); شما می توانيد آدرس رکورد اول را چاپ کنيد : print( %{$database[0]}->{t;{"Address"} . "\n"); خروجی مطلوب شما خواهد بود : 123 Anylane Rd. استفاده از (..) در تعيين محدوده : در Perl از .. برای تعيين محدوده آرايه ها استفاده می شود که از اين روش برای تندنويسی استفاده می شود مث ًلا : (10..1 = (array @شامل ١و٢و٣و۴و۵و۶و٧و٨و٩و١٠ می باشد . @array = ("A".."J") including of A,B,C,D,E,F,G,H,I,J @array = ("01".."10") including of 01,02,03,04,05,06,07,08,09,10 @array = ("aa" .. "af")including of aa, ab, ac, ad, ae, and af : %ENV Variable Variable Environment متغيری است که توسط سيستم عامل بيتهای اطلاعاتی را که در برای راه اندازی و اجرای کامپيوتر نيازند ذخيره می کند . علت نامگذاری اين متغيرها با Variable Environment اين است که گاهی از آنها در کامپيوتر استفاده می شود . برنامه کاربردی زير روش استفاده از ENV %و محتوای آن را پس از اجرا نشان می دهد : foreach $key (keys(%ENV)) { printf("%-10.10s: $ENV{$key}\n", $key); با اجرای اين کد در Win95 نتيجه بصورت زير خواهد بود : WINBOOTDIR: C:\WINDOWS TMP : C:\WINDOWS\TEMP
  15. Programming-Perl

    ذخيره رکوردی از داده ها با استفاده از هش : يکی از کاربردهای بسيار عالی هش ها در زبان برنامه نويسی Perl ذخيره رکوردی از داده هاست . ذخيره داده ها و همچنين بازيابی آن نيز بسيار آسان خواهد بود . به مثال زير توجه کنيد : %record = ( "Name" => "Jane Hathaway", "Address" => "123 Anylane Rd.", "Town" => "AnyTown", "State" => "AnyState", "Zip" => "12345-1234" ); در مثال بالا ما رکوردی از داده های يک مشتری را ذخيره کرديم . اين رکورد ۵ فيلد اطلاعاتی دارد . در اين مثال شما می توانيد از طريق اين فيلدهای اطلاعاتی به مقادير آن دسترسی داشته باشيد مث ًلا : $record{"State"}. حال با يک مثال کاربردی مطالب بيشتر روشن خواهد شد : %recordOne = ( "Name" => "Jane Hathaway", "Address" => "123 Anylane Rd.", "Town" => "AnyTown", "State" => "AnyState", "Zip" => "12345-1234" ); %recordTwo = ( "Name" => "Kevin Hughes", "Address" => "123 Allways Dr.", "Town" => "AnyTown", "State" => "AnyState", "Zip" => "12345-1234" );