আমি স্কালায় একটি সাববারে পাওয়ার চেষ্টা করছি এবং এটি করার সঠিক উপায়টি কী তা নিয়ে আমি কিছুটা বিভ্রান্ত। আমি সবচেয়ে বেশি যা চাই তা হ'ল আপনি কীভাবে অজগরটিতে এটি করতে পারেন তা হ'ল:
x = [3, 2, 1]
x[0:2]
তবে আমি মোটামুটি নিশ্চিত যে আপনি এটি করতে পারবেন না।
এটি করার সর্বাধিক সুস্পষ্ট উপায় হ'ল জাভা অ্যারে ব্যবহারের লাইব্রেরি ব্যবহার করা।
import java.util.Arrays
val start = Array(1, 2, 3)
Arrays.copyOfRange(start, 0, 2)
তবে স্কালায় জাভা লাইব্রেরিগুলি ব্যবহার করতে এটি সর্বদা আমাকে কিছুটা ময়লা বোধ করে। আমি এটির সর্বাধিক "স্কেলিক" উপায়টি পেয়েছি
def main(args: List[String]) {
val start = Array(1, 2, 3)
arrayCopy(start, 0, 2)
}
def arrayCopy[A](arr: Array[A], start: Int, end: Int)(implicit manifest: Manifest[A]): Array[A] = {
val ret = new Array(end - start)
Array.copy(arr, start, ret, 0, end - start)
ret
}
তবে এর চেয়ে ভাল উপায় আর কি আছে?