कॉफ़ीस्क्रिप्ट - स्प्लैट

पिछले अध्यायों में, हमने देखा है कि किसी फ़ंक्शन को कैसे परिभाषित किया जाए और एक फ़ंक्शन को लागू करें और इसके लिए तर्क पारित करें। सामान्य तौर पर, हम एक फ़ंक्शन के लिए निश्चित संख्या में तर्क पारित कर सकते हैं। प्रोग्रामिंग करते समय, हमें उन परिस्थितियों का सामना करना पड़ सकता है, जहाँ हमें इन कार्यों के लिए परिवर्तनशील तर्कों को पारित करने की आवश्यकता होती है। जावास्क्रिप्ट में, हम किसी फ़ंक्शन के चर संख्या को स्वीकार करने के लिए वस्तुओं का उपयोग करते हैं।

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