कॉफ़ीस्क्रिप्ट - स्प्लैट
पिछले अध्यायों में, हमने देखा है कि किसी फ़ंक्शन को कैसे परिभाषित किया जाए और एक फ़ंक्शन को लागू करें और इसके लिए तर्क पारित करें। सामान्य तौर पर, हम एक फ़ंक्शन के लिए निश्चित संख्या में तर्क पारित कर सकते हैं। प्रोग्रामिंग करते समय, हमें उन परिस्थितियों का सामना करना पड़ सकता है, जहाँ हमें इन कार्यों के लिए परिवर्तनशील तर्कों को पारित करने की आवश्यकता होती है। जावास्क्रिप्ट में, हम किसी फ़ंक्शन के चर संख्या को स्वीकार करने के लिए वस्तुओं का उपयोग करते हैं।
CoffeeScript नामक एक सुविधा प्रदान करता है splatsकार्यों के लिए कई तर्क पारित करने के लिए। हम तर्क नाम के बाद तीन बिंदु रखकर कार्यों में छप का उपयोग करते हैं और, यह द्वारा निरूपित किया जाता है...
वाक्य - विन्यास
नीचे दिए गए विभाजन का उपयोग करके फ़ंक्शन के भीतर कई तर्कों को स्वीकार करने का वाक्यविन्यास है।
my_function = (arguments...)->
............
............
............
उदाहरण
एक समारोह के भीतर कई तर्कों को स्वीकार करने का एक उदाहरण है, छप का उपयोग करना। यहां हमने एक फ़ंक्शन को परिभाषित किया है जिसका नाम हैindian_team()छप का उपयोग करना। हम इस फंक्शन को तीन बार बुला रहे हैं और हम 4 खिलाड़ियों, 6 खिलाड़ियों और फुल स्क्वाड को एक साथ पास कर रहे हैं, हर बार जब हम इसे कॉल करते हैं। चूँकि हमने फंक्शन की परिभाषा में छप का इस्तेमाल किया है, इसलिए जब भी हम इसे कहते हैं, यह हर बार चर संख्या के तर्कों को स्वीकार करता है। इस कोड को नाम वाली फ़ाइल में सहेजेंsplats_definition.coffee
indian_team = (first, second, others...) ->
Captain = first
WiseCaptain = second
team = others
console.log "Captain: " +Captain
console.log "Wise captain: " +WiseCaptain
console.log "Other team members: " +team
#Passing 4 arguments
console.log "############## Four Players ############"
indian_team "Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma"
#Passing 6 arguments
console.log "############## Six Players ############"
indian_team "Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan"
#Passing full squad
console.log "############## Full squad #############"
indian_team "Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan", "Ravindra Jadeja", "Axar Patel", "Jasprit Bumrah", "Umesh Yadav", "Harbhajan Singh", "Ashish Nehra", "Hardik Pandya", "Suresh Raina", "Yuvraj Singh", "Ajinkya Rahane"
को खोलो command prompt और कॉफ़ी फ़ाइल को नीचे दिखाए अनुसार संकलित करें।
c:\> coffee -c splats_definition.coffee
संकलन करने पर, यह आपको निम्नलिखित जावास्क्रिप्ट देता है।
// Generated by CoffeeScript 1.10.0
(function() {
var indian_team,
slice = [].slice;
indian_team = function() {
var Captain, WiseCaptain, first, others, second, team;
first = arguments[0], second = arguments[1], others = 3 <= arguments.length ? slice.call(arguments, 2) : [];
Captain = first;
WiseCaptain = second;
team = others;
console.log("Captain: " + Captain);
console.log("Wise captain: " + WiseCaptain);
return console.log("Other team members: " + team);
};
console.log("############## Four Players ############");
indian_team("Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma");
console.log("############## Six Players ############");
indian_team("Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan");
console.log("############## Full squad #############");
indian_team("Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan", "Ravindra Jadeja", "Axar Patel", "Jasprit Bumrah", "Umesh Yadav", "Harbhajan Singh", "Ashish Nehra", "Hardik Pandya", "Suresh Raina", "Yuvraj Singh", "Ajinkya Rahane");
}).call(this);
अब, खोलें command prompt फिर से नीचे दिखाए गए अनुसार CoffeeScript फ़ाइल चलाएं।
c:\> coffee splats_definition.coffee
निष्पादित करने पर, कॉफीस्क्रिप्ट फ़ाइल निम्न आउटपुट का उत्पादन करती है।
############## Four Players ############
Captain: Mahendra Singh Dhoni
Wise captain: Virat Kohli
Other team members: Shikhar Dhawan,Rohit Sharma
############## Six Players ############
Captain: Mahendra Singh Dhoni
Wise captain: Virat Kohli
Other team members: Shikhar Dhawan,Rohit Sharma,Gurkeerat Singh Mann,Rishi Dhawan
############## Full squad #############
Captain: Mahendra Singh Dhoni
Wise captain: Virat Kohli
Other team members: Shikhar Dhawan,Rohit Sharma,Gurkeerat Singh Mann,Rishi Dhawan,Ravindra Jadeja,Axar Patel,Jasprit Bumrah,Umesh Yadav,Harbhajan Singh,Ashish Nehra,Hardik Pandya,Suresh Raina,Yuvraj Singh,Ajinkya Rahane
Splats का उपयोग कर कार्य कॉलिंग
हम फॉन्ट का उपयोग करके एक फ़ंक्शन भी कह सकते हैं। उसके लिए, हमें एक एरे को बनाना होगा, जिसे हमें फंक्शन में पास करने के लिए जरूरी तत्वों को पकड़ना होगा, और हमें फंक्शन को कॉल करना होगा, जिसमें तीन डॉट्स द्वारा दिए गए एरे को निचे दर्शाया गया है।
my_function values...
उदाहरण
निम्नलिखित फोंट का उपयोग करके एक फ़ंक्शन को कॉल करने का एक उदाहरण है। इस कोड को नाम वाली फ़ाइल में सहेजेंsplats_call.coffee
indian_team = (first, second, others...) ->
Captain = first
WiseCaptain = second
team = others
console.log "Captain: " +Captain
console.log "Wise captain: " +WiseCaptain
console.log "Other team members: " +team
squad = [
"Mahendra Singh Dhoni"
"Virat Kohli"
"Shikhar Dhawan"
"Rohit Sharma"
"Gurkeerat Singh Mann"
"Rishi Dhawan"
"R Ashwin"
"Ravindra Jadeja"
"Axar Patel"
"Jasprit Bumrah"
"Umesh Yadav"
"Harbhajan Singh"
"Ashish Nehra"
"Hardik Pandya"
"Suresh Raina"
"Yuvraj Singh"
"Ajinkya Rahane"
]
indian_team squad...
को खोलो command prompt और कॉफ़ी फ़ाइल को नीचे दिखाए अनुसार संकलित करें।
c:\> coffee -c splats_call.coffee
संकलन करने पर, यह आपको निम्नलिखित जावास्क्रिप्ट देता है।
// Generated by CoffeeScript 1.10.0
(function() {
var indian_team, squad,
slice = [].slice;
indian_team = function() {
var Captain, WiseCaptain, first, others, second, team;
first = arguments[0], second = arguments[1], others = 3 <= arguments.length ? slice.call(arguments, 2) : [];
Captain = first;
WiseCaptain = second;
team = others;
console.log("Captain: " + Captain);
console.log("Wise captain: " + WiseCaptain);
return console.log("Other team members: " + team);
};
squad = ["Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan", "R Ashwin", "Ravindra Jadeja", "Axar Patel", "Jasprit Bumrah", "Umesh Yadav", "Harbhajan Singh", "Ashish Nehra", "Hardik Pandya", "Suresh Raina", "Yuvraj Singh", "Ajinkya Rahane"];
indian_team.apply(null, squad);
}).call(this);
अब, खोलें command prompt फिर से नीचे दिखाए गए अनुसार CoffeeScript फ़ाइल चलाएं।
c:\> coffee splats_call.coffee
निष्पादित करने पर, कॉफीस्क्रिप्ट फ़ाइल निम्न आउटपुट का उत्पादन करती है।
Captain: Mahendra Singh Dhoni
Wise captain: Virat Kohli
Other team members: Shikhar Dhawan,Rohit Sharma,Gurkeerat Singh Mann,Rishi Dhawan,R Ashwin,Ravindra Jadeja,Axar Patel,Jasprit Bumrah,Umesh Yadav,Harbhajan Singh,Ashish Nehra,Hardik Pandya,Suresh Raina,Yuvraj Singh,Ajinkya Rahane
एक स्वादिष्ट तर्क के साथ स्प्लिट्स
हम छप के तर्कों को भी पास कर सकते हैं। नीचे दिए गए उदाहरण में, हमने एक टेलिंग तर्क पारित किया है जिसका नाम हैlastफुहारे के बाद। नाम के साथ एक फ़ाइल में इस उदाहरण को सहेजेंtailing_arguments.coffee
indian_team = (first, second, others..., last) ->
Captain = first
WiseCaptain = second
team = others
Wicketkeeper =last
console.log "Captain: " +Captain
console.log "Wise captain: " +WiseCaptain
console.log "Wicket keeper is:"+last
console.log "Other team members: " +team
squad = [
"Mahendra Singh Dhoni"
"Virat Kohli"
"Shikhar Dhawan"
"Rohit Sharma"
"Gurkeerat Singh Mann"
"Rishi Dhawan"
"R Ashwin"
"Ravindra Jadeja"
"Axar Patel"
"Jasprit Bumrah"
"Umesh Yadav"
"Harbhajan Singh"
"Ashish Nehra"
"Hardik Pandya"
"Suresh Raina"
"Yuvraj Singh"
"Ajinkya Rahane"
]
indian_team squad...
को खोलो command prompt और कॉफ़ी फ़ाइल को नीचे दिखाए अनुसार संकलित करें।
c:\> coffee -c tailing_arguments.coffee
संकलन करने पर, यह आपको निम्नलिखित जावास्क्रिप्ट देता है।
// Generated by CoffeeScript 1.10.0
(function() {
var indian_team, squad,
slice = [].slice;
indian_team = function() {
var Captain, Wicketkeeper, WiseCaptain, first, i, last, others, second, team;
first = arguments[0], second = arguments[1], others = 4 <= arguments.length ? slice.call(arguments, 2, i = arguments.length - 1) : (i = 2, []), last = arguments[i++];
Captain = first;
WiseCaptain = second;
team = others;
Wicketkeeper = last;
console.log("Captain: " + Captain);
console.log("Wise captain: " + WiseCaptain);
console.log("Wicket keeper is:" + last);
return console.log("Other team members: " + team);
};
squad = ["Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan", "R Ashwin", "Ravindra Jadeja", "Axar Patel", "Jasprit Bumrah", "Umesh Yadav", "Harbhajan Singh", "Ashish Nehra", "Hardik Pandya", "Suresh Raina", "Yuvraj Singh", "Ajinkya Rahane"];
indian_team.apply(null, squad);
}).call(this);
अब, खोलें command prompt फिर से नीचे दिखाए गए अनुसार CoffeeScript फ़ाइल चलाएं।
c:\> coffee tailing_arguments.coffee
निष्पादित करने पर, कॉफीस्क्रिप्ट फ़ाइल निम्न आउटपुट का उत्पादन करती है।
Captain: Mahendra Singh Dhoni
Wise captain: Virat Kohli
Wicket keeper is:Ajinkya Rahane
Other team members: Shikhar Dhawan,Rohit Sharma,Gurkeerat Singh Mann,Rishi Dhawan,R Ashwin,Ravindra Jadeja,Axar Patel,Jasprit Bumrah,Umesh Yadav,Harbhajan Singh,Ashish Nehra,Hardik Pandya,Suresh Raina,Yuvraj Singh
Splats के साथ समझ
फ़ंक्शन के भीतर, हम एक उदाहरण के रूप में निम्न उदाहरण में दिखाए गए समझ का उपयोग करके एक स्पैट के तत्वों को पुनरावृत्त कर सकते हैं। इस कोड को नाम वाली फ़ाइल में सहेजेंsplats_comprehensions.coffee
indian_team = (first, second, others...) ->
Captain = first
WiseCaptain = second
team = others
console.log "Captain: " +Captain
console.log "Wise captain: " +WiseCaptain
console.log "Other team members:: "
console.log member for member in others
squad = [
"Mahendra Singh Dhoni"
"Virat Kohli"
"Shikhar Dhawan"
"Rohit Sharma"
"Gurkeerat Singh Mann"
"Rishi Dhawan"
"R Ashwin"
"Ravindra Jadeja"
"Axar Patel"
"Jasprit Bumrah"
"Umesh Yadav"
"Harbhajan Singh"
"Ashish Nehra"
"Hardik Pandya"
"Suresh Raina"
"Yuvraj Singh"
"Ajinkya Rahane"
]
indian_team squad...
को खोलो command prompt और कॉफ़ी फ़ाइल को नीचे दिखाए अनुसार संकलित करें।
c:\> coffee -c splats_comprehensions.coffee
संकलन करने पर, यह आपको निम्नलिखित जावास्क्रिप्ट देता है।
// Generated by CoffeeScript 1.10.0
(function() {
var indian_team, squad,
slice = [].slice;
indian_team = function() {
var Captain, WiseCaptain, first, i, len, member, others, results, second, team;
first = arguments[0], second = arguments[1], others = 3 <= arguments.length ? slice.call(arguments, 2) : [];
Captain = first;
WiseCaptain = second;
team = others;
console.log("Captain: " + Captain);
console.log("Wise captain: " + WiseCaptain);
console.log("Other team members:: ");
results = [];
for (i = 0, len = others.length; i < len; i++) {
member = others[i];
results.push(console.log(member));
}
return results;
};
squad = ["Mahendra Singh Dhoni", "Virat Kohli", "Shikhar Dhawan", "Rohit Sharma", "Gurkeerat Singh Mann", "Rishi Dhawan", "R Ashwin", "Ravindra Jadeja", "Axar Patel", "Jasprit Bumrah", "Umesh Yadav", "Harbhajan Singh", "Ashish Nehra", "Hardik Pandya", "Suresh Raina", "Yuvraj Singh", "Ajinkya Rahane"];
indian_team.apply(null, squad);
}).call(this);
अब, खोलें command prompt फिर से नीचे दिखाए गए अनुसार CoffeeScript फ़ाइल चलाएं।
c:\> coffee splats_comprehensions.coffee
निष्पादित करने पर, कॉफीस्क्रिप्ट फ़ाइल निम्न आउटपुट का उत्पादन करती है।
Captain: Mahendra Singh Dhoni
Wise captain: Virat Kohli
Other team members::
Shikhar Dhawan
Rohit Sharma
Gurkeerat Singh Mann
Rishi Dhawan
R Ashwin
Ravindra Jadeja
Axar Patel
Jasprit Bumrah
Umesh Yadav
Harbhajan Singh
Ashish Nehra
Hardik Pandya
Suresh Raina
Yuvraj Singh
Ajinkya Rahane