একটি ব্লক সংজ্ঞা কি?

একটি ব্লক সংজ্ঞা একটি বস্তু যা একটি কাস্টম ব্লক সংজ্ঞায়িত করে। উদাহরণস্বরূপ, এটি ব্লকের চেহারা এবং অনুভূতি (টেক্সট, ক্ষেত্র, সংযোগ, রঙ, ইত্যাদি) এবং সেইসাথে এর আচরণ (ব্লক-লেভেল ইভেন্ট হ্যান্ডলার, ইত্যাদি) সংজ্ঞায়িত করে।

উদাহরণস্বরূপ, এই ব্লক:

একটি `স্ট্রিং_লেংথ` ব্লক।

JSON বা জাভাস্ক্রিপ্টে নিম্নরূপ সংজ্ঞায়িত করা যেতে পারে:

JSON

Blockly.common.defineBlocksWithJsonArray([{
  "type": "string_length",
  "message0": 'length of %1',
  "args0": [
    {
      "type": "input_value",
      "name": "VALUE",
      "check": "String"
    }
  ],
  "output": "Number",
  "colour": 160,
  "tooltip": "Returns number of letters in the provided text.",
  "helpUrl": "http://www.w3schools.com/jsref/jsref_length_string.asp"
}]);

defineBlocksWithJsonArray একটি JSON অবজেক্ট থেকে একটি ব্লক সংজ্ঞা তৈরি করে।

জাভাস্ক্রিপ্ট

Blockly.Blocks['string_length'] = {
   init: function() {
     this.appendValueInput('VALUE')
         .setCheck('String')
         .appendField('length of');
     this.setOutput(true, 'Number');
     this.setColour(160);
     this.setTooltip('Returns number of letters in the provided text.');
     this.setHelpUrl('http://www.w3schools.com/jsref/jsref_length_string.asp');
   }
};

আপনি যখন জাভাস্ক্রিপ্ট ব্যবহার করেন, আপনি সরাসরি ব্লক সংজ্ঞা তৈরি করেন।

ব্লক সংজ্ঞা কিভাবে কাজ করে

একটি ব্লক সংজ্ঞা হল একটি মিক্সিন যাতে ফাংশন-মূল্যবান বৈশিষ্ট্য রয়েছে। যখন একটি নতুন ব্লক ইনস্ট্যান্ট করা হয়, তখন এই বৈশিষ্ট্যগুলি নতুন তৈরি ব্লক অবজেক্টে অনুলিপি করা হয়। কাস্টম আচরণের জন্য এই ফাংশনগুলিকে ব্লকলি কল করে।

কারণ সংজ্ঞা ফাংশন ব্লক অবজেক্টে মিশ্রিত হয়:

  • সংজ্ঞা ফাংশনে this কীওয়ার্ডটি ব্লক অবজেক্টকে বোঝায়। অর্থাৎ, এটি Block (বা BlockSvg ) ক্লাসে সর্বজনীন পদ্ধতি এবং বৈশিষ্ট্যগুলি অ্যাক্সেস করতে ব্যবহার করা যেতে পারে।

ব্লকলি একটি ছোট সংখ্যক ফাংশন সংজ্ঞায়িত করে যা আপনি ব্লক কাস্টমাইজ করতে ব্যবহার করতে পারেন। এর মধ্যে সবচেয়ে সাধারণ হল init , যেটিকে Blockly একটি ব্লক শুরু করতে বলে এবং যেটি ব্লকের চেহারা এবং অনুভূতি নির্ধারণ করতে ব্যবহৃত হয়। একটি সম্পূর্ণ তালিকার জন্য, Block এবং BlockSvg ক্লাসে ফাংশন-মূল্যবান বৈশিষ্ট্যগুলি দেখুন। এই বৈশিষ্ট্যগুলি কার্যকরভাবে ব্লক সংজ্ঞা বাস্তবায়নের জন্য একটি ইন্টারফেস গঠন করে; তাদের সব ঐচ্ছিক.

ব্লক সংজ্ঞাতেও কাস্টম ফাংশন থাকতে পারে, যদিও ব্লকলি এগুলিকে সরাসরি কল করবে না। পরিবর্তে, তারা অন্যান্য ফাংশন বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, একটি ব্লক-লেভেল ইভেন্ট হ্যান্ডলার ( Block.onchange প্রপার্টি) বিভিন্ন ইভেন্টকে বিভিন্ন কাস্টম ফাংশনে অর্পণ করতে পারে।

কীভাবে ব্লক সংজ্ঞা তৈরি করবেন

ব্লক সংজ্ঞা তৈরি করার বিভিন্ন উপায় আছে:

  • আপনার ব্লকের চেহারা এবং অনুভূতি নির্ধারণ করতে ব্লকলি ডেভেলপার টুল ব্যবহার করুন। আপনার কোডে জেনারেট করা JSON বা JavaScript কপি করুন এবং প্রয়োজন অনুযায়ী কাস্টম কোড যোগ করুন। আরও তথ্যের জন্য, ব্লকলি ডেভেলপার টুলস দেখুন।
  • একটি অনুরূপ ব্লক খুঁজুন, এর সংজ্ঞা অনুলিপি করুন এবং প্রয়োজন অনুসারে এটি সংশোধন করুন। আরও তথ্যের জন্য, বিদ্যমান সংজ্ঞা সংশোধন করুন দেখুন।
  • হাতে একটি ব্লক সংজ্ঞা লিখুন। আরও তথ্যের জন্য, JSON এবং JavaScript দেখুন।