Function with three dot ... parameter in R programming language

R Programming Language Function in R Language (Article) Function in R Language (Program)

311

Program:

<span class="com"># function argument as a three dot ...</span><span class="pln">
hello</span><span class="pun">.</span><span class="pln">person </span><span class="pun">&lt;-</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">firstName</span><span class="pun">,</span><span class="pln"> lastName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Ansari"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
  </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">sprintf</span><span class="pun">(</span><span class="str">"Hello %s %s"</span><span class="pun">,</span><span class="pln"> firstName</span><span class="pun">,</span><span class="pln"> lastName</span><span class="pun">))</span><span class="pln">
</span><span class="pun">}</span><span class="pln">



</span><span class="com"># Azmi will ignore because of the ...</span><span class="pln">
hello</span><span class="pun">.</span><span class="pln">person</span><span class="pun">(</span><span class="str">"Rumman"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Ansari"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Azmi"</span><span class="pun">)</span><span class="pln">

</span><span class="com"># Azmi will ignore because of the ...</span><span class="pln">
hello</span><span class="pun">.</span><span class="pln">person</span><span class="pun">(</span><span class="str">"Rumman"</span><span class="pun">,</span><span class="pln"> extra </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Azmi"</span><span class="pun">)</span><span class="pln">

</span><span class="com"># another way to call</span><span class="pln">
hello</span><span class="pun">.</span><span class="pln">person</span><span class="pun">(</span><span class="str">"Rumman"</span><span class="pun">)</span><span class="pln">

hello</span><span class="pun">.</span><span class="pln">person</span><span class="pun">(</span><span class="pln">firstName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Rumman"</span><span class="pun">)</span><span class="pln">

hello</span><span class="pun">.</span><span class="pln">person</span><span class="pun">(</span><span class="pln">firstName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Ansari"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Azmi"</span><span class="pun">)</span><span class="pln">

</span><span class="com"># this function calling will not work </span><span class="pln">
</span><span class="com"># because "firstName" is missing</span><span class="pln">
hello</span><span class="pun">.</span><span class="pln">person</span><span class="pun">(</span><span class="pln">lastName </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Rumman"</span><span class="pun">)</span>

Output:

> # Azmi will ignore because of the ...
> hello.person("Rumman", "Ansari", "Azmi")
[1] "Hello Rumman Ansari"
> 
> # Azmi will ignore because of the ...
> hello.person("Rumman", extra = "Azmi")
[1] "Hello Rumman Ansari"
> 
> # another way to call
> hello.person("Rumman")
[1] "Hello Rumman Ansari"
> 
> hello.person(firstName = "Rumman")
[1] "Hello Rumman Ansari"
> 
> hello.person(firstName = "Ansari", "Azmi")
[1] "Hello Ansari Azmi"
> 
> # this function calling will not work 
> # because "firstName" is missing
> hello.person(lastName = "Rumman")
 Error in sprintf("Hello %s %s", firstName, lastName) : 
  argument "firstName" is missing, with no default 

Explanation:

This three dot is one of the most powerful features in R Programming Language

This Particular section is dedicated to Programs only. If you want learn more about R Programming Language. Then you can visit below links to get more depth on this subject.