वैरिएबल Arguments (varargs)
Varargs किसी function को एक जैसी तरह के कितने भी inputs लेने देते हैं, जैसे एक bag जिसमें आप जितने चाहें उतने items रख सकते हैं। अंदर, वे एक list बन जाते हैं।
In this page:
Syntax
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)
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: _*))
}
Login to try C/C++/Java/PHP code in the editor
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. #}
आम गलतियां
- किसी
Listको सीधे varargs parameter पर पास करना जैसेsumAll(myList), जबकि इसेsumAll(myList: _*)से फैलाना चाहिए। *parameter को दूसरे parameters से पहले रखना, जबकि यह आखिरी होना चाहिए।- यह उम्मीद करना कि
numsएकArrayहै, जबकि function के अंदर यह एकSeqहै।
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: