← Back to Scala Course | Chapter 5: Functions | Lesson 5 of 7

वैरिएबल Arguments (varargs)

Varargs किसी function को एक जैसी तरह के कितने भी inputs लेने देते हैं, जैसे एक bag जिसमें आप जितने चाहें उतने items रख सकते हैं। अंदर, वे एक list बन जाते हैं।
Syntax
scala
def function_name(nums: Int*): ReturnType = {
  // nums behaves like a Seq
}

function_name(value1, value2, value3)

Variable Arguments (varargs)

* से चिह्नित एक parameter, जैसे nums: Int*, call site पर कितने भी arguments accept करता है, जिन्हें आंतरिक रूप से एक Seq के रूप में इकट्ठा किया जाता है।

Varargs को list का आखिरी parameter होना चाहिए। किसी मौजूदा collection को varargs के रूप में पास करने के लिए, आप उसे trailing : _* से फैलाते हैं।

Note: किसी मौजूदा collection को varargs call में फैलाने के लिए someSeq: _* का उपयोग करें, क्योंकि आप किसी Seq को सीधे वहां पास नहीं कर सकते जहां अलग-अलग arguments की उम्मीद हो।

उदाहरण: Variable Arguments (varargs)

markup
object Main extends App {
  def sumAll(nums: Int*): Int = {
    nums.sum
  }

  println(sumAll(1, 2, 3))
  println(sumAll(10, 20, 30, 40))

  val values = Seq(5, 10, 15)
  println(sumAll(values: _*))
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. किसी List को सीधे varargs parameter पर पास करना जैसे sumAll(myList), जबकि इसे sumAll(myList: _*) से फैलाना चाहिए।
  2. * parameter को दूसरे parameters से पहले रखना, जबकि यह आखिरी होना चाहिए।
  3. यह उम्मीद करना कि nums एक Array है, जबकि function के अंदर यह एक Seq है।
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.