&
মেটা-ফাংশন (বিকল্প ইনপুট / আউটপুট স্পেসিফিকেশন)
কোনও ফাংশনে পাস করার জন্য ইনপুট আর্গুমেন্টগুলির সংখ্যা নির্দিষ্ট করার traditionalতিহ্যগত উপায় হ'ল $
মেটা-ফাংশন ব্যবহার করা
2$: % Two-input version of :
একইভাবে, আউটপুট আর্গুমেন্টগুলির সংখ্যা নির্দিষ্ট করতে আপনি আউটপুট আর্গুমেন্টের সংখ্যা নির্দিষ্ট করে #
মেটা-ফাংশন ব্যবহার করতে পারেন ,
2#S % Two-output version of sort
অথবা যদি আপনি একটি সংখ্যা যে পাস তার চেয়ে অনেক বেশী আউটপুট আর্গুমেন্ট একটি ফাংশন জন্য সংজ্ঞায়িত সংখ্যা, শুধুমাত্রmod(N, numberOfOutputs) + 1
আউটপুট সরবরাহ করা হয়।
4#S % Get only the second output of sort
আপনি #
কেবলমাত্র নির্দিষ্ট আউটপুট আর্গুমেন্টগুলি পুনরুদ্ধার করতে ইনপুট হিসাবে লজিকাল অ্যারে নির্দিষ্ট করে দিতে পারেন।
TFT#u % Three output version of unique and discard the second output
এই সমস্ত ইনপুট / আউটপুট স্পেসিফিকেশন সুবিধাজনক তবে তারা আপনার বাইট-কাউন্টটি খুব দ্রুত চালনা করে। এটি মোকাবেলা করতে, এমএটিএল 17.0.0 প্রকাশে&
মেটা-ফাংশনটি প্রবর্তন করে । এই মেটা-ফাংশন কোনও ফাংশনের জন্য নির্দিষ্ট ইনপুট বা আউটপুট স্পেসিফিকেশনের শর্টকাট হিসাবে কাজ করে। আসুন দেখুন এর অর্থ কী।&
আমাদের উপরের উদাহরণে আমরা দুটি ইনপুট সংস্করণ :
(সমান-ব্যবধানযুক্ত মানের ভেক্টর তৈরি করে) ব্যবহার করতে চেয়েছিলাম । ইনপুট আর্গুমেন্ট ডিফল্ট সংখ্যা যদিও :
হয় 1
(থেকে একটি অ্যারের সৃষ্টি [1...N]
), এটা খুব সাধারণ একটি ব্যবহারকারী যা দ্বিতীয় ইনপুট প্রয়োজন পরিসর শুরুর মান নির্দিষ্ট করতে চান হবে। সুতরাং :
, আমরা &
একটি শর্টকাট হতে সংজ্ঞায়িত করেছি 2$
।
10 % Push 10 to the stack
12 % Push 12 to the stack
2$: % Create an array: [10, 11, 12]
এখন নীচে পরিণত হয়, একটি বাইট সংরক্ষণ !
10 12 &:
যুক্তিগুলির বিকল্প সংখ্যা কীভাবে আমরা নির্ধারণ করতে পারি?
ইনপুট / আউটপুট স্পেসিফিকেশন যা &
অনুবাদ করে ফাংশন নির্দিষ্ট যেমন আমরা বাইট-সঞ্চয়কে অনুকূলিত করি।
প্রতিটি ফাংশনের জন্য সহায়তা বর্ণনার ইনপুট / আউটপুট আর্গুমেন্ট বিভাগটি আপডেট করা হয়েছে যা ইনপুট / আউটপুটগুলির এই বিকল্প সংখ্যাটি (যদি থাকে) তা নির্দেশ করে। সম্ভাব্য সংখ্যার ইনপুট বা আউটপুট আর্গুমেন্টগুলি একটি পরিসীমা হিসাবে প্রদর্শিত হয় এবং প্রত্যেকের জন্য ডিফল্ট মানগুলি প্রথম বন্ধনীতে দেখানো হয়। ইনপুট / আউটপুট স্পেক যা প্রতিস্থাপিত হতে পারে &
তা /
প্রথম বন্ধনীগুলির মধ্যে অক্ষরের পরে দেখানো হয়েছে।
এখানে সহায়তা বর্ণনার ইনপুট / আউটপুট আর্গুমেন্ট বিভাগ :
+- Min-Max range of # of inputs
| +----- Alt. Default # of inputs
| |
V V
1--3 (1 / 2); 1 <--- Possible / Default # of outputs
^
|
Default # of inputs
আপনি &
প্রতিটি ফাংশনটির অর্থ কীভাবে নির্ধারণ করলেন ?
খুব সাবধানে. স্ট্যাকএক্সচেঞ্জ এপিআই ব্যবহার করে আমরা পিপিসিজি চ্যালেঞ্জে ব্যবহৃত সমস্ত এমএটিএল উত্তর ডাউনলোড করতে সক্ষম হয়েছি। প্রতিটি উত্তরকে বিশ্লেষণ করে আমরা তখন প্রতিটি ফাংশনটির জন্য প্রতিটি ইনপুট / আউটপুট স্পেক ব্যবহার করে এমন ফ্রিকোয়েন্সি নির্ধারণ করতে সক্ষম হয়েছি। এই তথ্যটি ব্যবহার করে আমরা তখন ইনটপ / আউটপুট স্পেসিফিকেশনটি &
মেটা-ফাংশনটি প্রতিটি ফাংশনের জন্য উপস্থাপন করা উচিত উদ্দেশ্যমূলকভাবে সনাক্ত করতে সক্ষম হয়েছি । কখনও কখনও কোনও পরিষ্কার বিজয়ী ছিল না, তাই অনেকগুলি কার্য বর্তমানে &
সংজ্ঞায়িত হয়নি।
আমরা যে স্ক্রিপ্টটি ব্যবহার করেছি এটি এখানে রয়েছে (দুর্ভাগ্যক্রমে এটি ম্যাটল্যাবে লেখা হয়েছে এবং এমএটিএল নয় )।
এবং এখানে একটি হল হিস্টোগ্রাম উদাহরণ কয়েক $
/ #
ব্যবহার