স্কালায় একটি অপরিবর্তনীয় তালিকা তৈরির বিভিন্ন উপায় রয়েছে (নীচে স্বীকৃত উদাহরণ কোড দেখুন)। আপনি একটি পরিবর্তনীয় তালিকার বাফার ব্যবহার করতে পারেন, একটি varতালিকা তৈরি করতে পারেন এবং এটি সংশোধন করতে পারেন, একটি লেজ পুনরাবৃত্ত পদ্ধতি ব্যবহার করতে পারেন , এবং সম্ভবত অন্যরা যা আমি জানিনা।
সহজাতভাবে, আমি তালিকার বাফারটি ব্যবহার করি, তবে এটি করার পক্ষে আমার কোনও ভাল কারণ নেই। তালিকা তৈরির জন্য কি পছন্দের বা আইডোমেটিক পদ্ধতি আছে, বা এমন পরিস্থিতি রয়েছে যা অন্য পদ্ধতির জন্য এক পদ্ধতির জন্য সবচেয়ে ভাল?
import scala.collection.mutable.ListBuffer
// THESE are all the same as: 0 to 3 toList.
def listTestA() ={
var list:List[Int] = Nil
for(i <- 0 to 3)
list = list ::: List(i)
list
}
def listTestB() ={
val list = new ListBuffer[Int]()
for (i <- 0 to 3)
list += i
list.toList
}
def listTestC() ={
def _add(l:List[Int], i:Int):List[Int] = i match {
case 3 => l ::: List(3)
case _ => _add(l ::: List(i), i +1)
}
_add(Nil, 0)
}
What you DON'T do is use a List and append to itএটি কি নতুন তালিকা তৈরি হওয়ার কারণে? অন্যদিকে, একটি প্রিপেন্ড অপারেশন ব্যবহার করে কোনও নতুন তালিকা তৈরি হবে না?