ট্র্যাক
/
Perl
Perl
/
সিলেবাস
/
রেফারেন্স
রে

রেফারেন্স মধ্যে Perl

9টি অনুশীলনী

রেফারেন্স সম্পর্কে

রেফারেন্স বোঝা পার্ল কার্যকরভাবে ব্যবহারের একটি মৌলিক অংশ। যেহেতু রেফারেন্সগুলো স্কেলার, আর অ্যারে ও হ্যাশ কেবল স্কেলারই ধারণ করতে পারে, তাই এই ডেটা স্ট্রাকচারগুলো নেস্ট করার মূল চাবিকাঠি হলো রেফারেন্স।

ব্যাকস্ল্যাশ অপারেটর \ ব্যবহার করে বিদ্যমান ভ্যারিয়েবল ও সাবরুটিনের জন্য রেফারেন্স তৈরি করা যায়:

  • \$scalar দিয়ে একটি স্কেলার রেফারেন্স তৈরি করা যায় (এটি যেকোনো স্কেলার হতে পারে, যেমন \1, কেবল কোনো ভ্যারিয়েবল নয়)।
  • \@array দিয়ে একটি অ্যারে রেফারেন্স তৈরি করা যায়।
  • \%hash দিয়ে একটি হ্যাশ রেফারেন্স তৈরি করা যায়।
  • \&sub দিয়ে একটি কোড রেফারেন্স তৈরি করা যায়।

অ্যারে, হ্যাশ ও সাবরুটিনের জন্য আপনি অ্যানোনিমাস রেফারেন্সও তৈরি করতে পারেন:

  • ['Alice', 'Bob', 'Charlie'] দিয়ে একটি অ্যানোনিমাস অ্যারে রেফারেন্স তৈরি করা যায়।
  • {foo => 'a', bar => 'b', baz => 'c'} দিয়ে একটি অ্যানোনিমাস হ্যাশ রেফারেন্স তৈরি করা যায়।
  • sub { return 1 } দিয়ে একটি অ্যানোনিমাস কোড রেফারেন্স তৈরি করা যায়।

সতর্কতা: পার্লে দ্বিতীয় বন্ধনী নির্দিষ্ট কিছু প্রসঙ্গে অস্পষ্ট হতে পারে। আপনি যদি প্রত্যাশিত হ্যাশ রেফারেন্স না পান, তাহলে এর অস্পষ্টতা দূর করতে সামনে একটি প্লাস যোগ করুন, যেমন +{}। আরও তথ্যের জন্য দ্বিতীয় বন্ধনী দেখুন।

অ্যারো অপারেটর -> ব্যবহার করে রেফারেন্স অ্যাক্সেস করা যায়:

  • $ref->[0] দিয়ে অ্যারে রেফারেন্সের ভেতরের একটি এলিমেন্ট অ্যাক্সেস করা যায়।
  • $ref->{foo} দিয়ে হ্যাশ রেফারেন্সের ভেতরের একটি মান অ্যাক্সেস করা যায়।
  • $ref->($arg) দিয়ে কোড রেফারেন্সের মাধ্যমে একটি সাবরুটিন কল করা যায়।

জটিল ডেটা স্ট্রাকচারের ভেতরের ডেটা, যেমন মাল্টিডাইমেনশনাল অ্যারে ও নেস্টেড হ্যাশ, সাবস্ক্রিপ্ট চেইন করে অ্যাক্সেস করা যায়, যেমন $ref->{foo}[0]{bar} ($ref->{foo}->[0]->{bar}-এর সমান)।

আপনি যদি একটি সম্পূর্ণ অ্যারে বা হ্যাশ ডিরেফারেন্স করতে চান, তাহলে অ্যারো অপারেটরের পরে যথাক্রমে @* বা %* ব্যবহার করতে পারেন, যেমন $ref->@* বা $ref->%*। এছাড়াও *-এর জায়গায় একটি সাবস্ক্রিপ্ট বসিয়ে অ্যারে বা হ্যাশ রেফারেন্সের স্লাইসও পাওয়া যায়, যেমন $ref->@[0..2] বা $ref->@{'Foo', 'Bar'}। স্লাইসের ক্ষেত্রে অ্যারে ও হ্যাশ ভ্যারিয়েবলের মতোই এখানেও সিজিল ভ্যারিয়েন্স প্রযোজ্য।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

রেফারেন্স শিখুন

অনুশীলন লক করা আছে

রেফারেন্স অনুশীলন করতে আরও 8টি অনুশীলনী আনলক করুন