"স্প্ল্যাট অপারেটর" শব্দটি রুবি থেকে এসেছে, যেখানে একটি *
অক্ষর (কখনও কখনও "স্প্ল্যাট" বলা হয় - জারগন ফাইল এন্ট্রি ) বলা হয় যে একটি যুক্তি তালিকায় একটি এন্ট্রি আর্গুমেন্টের একটি তালিকা "ভিজিয়ে" রাখা উচিত।
CoffeeScript রুবি শৈলী splats গৃহীত খুব উপর (দেখুন গোড়ার দিকে ইস্যু 16 ), কিন্তু ডগলাস Crockford এর পরামর্শ এ, সিনট্যাক্স থেকে পরিবর্তন করা হয়েছে *x
থেকে x...
পরে কয়েক সপ্তাহ (দেখুন ইস্যু 45 )। তবুও, কফি স্ক্রিপ্টারগুলি এখনও সিনট্যাক্সটিকে "স্প্ল্যাট" বা "স্প্ল্যাট অপারেটর" হিসাবে উল্লেখ করে।
তারা আসলে কী করে, স্প্ল্যাটগুলি arguments
বস্তুকে এমনভাবে টুকরো টুকরো করে ছড়িয়ে দেয় যে স্প্ল্যাটেড আর্গুমেন্ট সমস্ত "অতিরিক্ত" যুক্তিগুলির অ্যারে হয়ে যায়। সবচেয়ে তুচ্ছ উদাহরণ
(args...) ->
এই ক্ষেত্রে, args
কেবল একটি অ্যারে অনুলিপি হবে arguments
। স্প্ল্যাটেড আর্গুমেন্টগুলি আগে, পরে বা স্ট্যান্ডার্ড আর্গুমেন্টের মধ্যে আসতে পারে:
(first, rest...) ->
(rest..., last) ->
(first, rest..., last) ->
প্রথম দুটি ক্ষেত্রে, যদি ফাংশনটি 0-1 টি আর্গুমেন্ট গ্রহণ করে তবে এটি rest
একটি ফাঁকা অ্যারে হবে। শেষ ক্ষেত্রে, ফাংশনটি rest
খালি না থাকার জন্য 2 টিরও বেশি আর্গুমেন্ট গ্রহণ করা দরকার।
যেহেতু জাভাস্ক্রিপ্ট একই নামের সাথে ফাংশনগুলির জন্য একাধিক স্বাক্ষর অনুমোদন করে না (সি এবং জাভা কীভাবে), তাই স্প্ল্যাটগুলি বিভিন্ন সংখ্যক আর্গুমেন্টের সাথে ডিল করার জন্য একটি বিশাল সময়-সঞ্চয়কারী।
arguments
+ +call
: stackoverflow.com/questions/17380315/...