# 1। Arrayপরিসীমা সহ সাবস্ক্রিপ্ট ব্যবহার
সুইফট 5 সহ, আপনি যখন লিখবেন…
let newNumbers = numbers[0...position]
… newNumbersটাইপ Array<Int>নয় তবে টাইপের ArraySlice<Int>। এটা এ কারণে যে Arrayএর subscript(_:)আয় একটি ArraySlice<Element>যে অ্যাপল অনুযায়ী, উপহার কিছু বড় অ্যারের স্টোরেজ সম্মুখের একটি দৃশ্য।
তদ্ব্যতীত, সুইফ্ট Arrayনামে পরিচিত একটি সূচনাও সরবরাহ করে যা init(_:)আমাদের sequence(সহ ArraySlice) থেকে একটি নতুন অ্যারে তৈরি করতে দেয় ।
অতএব, আপনি অ্যারের প্রথম এন উপাদানগুলির থেকে একটি নতুন অ্যারে পাওয়ার জন্য এর subscript(_:)সাথে ব্যবহার করতে পারেন :init(_:)
let array = Array(10...14) // [10, 11, 12, 13, 14]
let arraySlice = array[0..<3] // using Range
//let arraySlice = array[0...2] // using ClosedRange also works
//let arraySlice = array[..<3] // using PartialRangeUpTo also works
//let arraySlice = array[...2] // using PartialRangeThrough also works
let newArray = Array(arraySlice)
print(newArray) // prints [10, 11, 12]
# 2। Arrayএর prefix(_:)পদ্ধতি ব্যবহার করে
প্রোটোকলের prefix(_:)সাথে মেনে চলার জন্য সুইফ্ট একটি পদ্ধতি সরবরাহ Collectionকরে (সহ Array)। prefix(_:)নিম্নলিখিত ঘোষণা আছে:
func prefix(_ maxLength: Int) -> ArraySlice<Element>
প্রাথমিক উপাদানগুলি সমেত দৈর্ঘ্যে সর্বোচ্চ দৈর্ঘ্য পর্যন্ত একটি উপসর্গ প্রদান করে।
অ্যাপল আরও বলেছে:
যদি সর্বাধিক দৈর্ঘ্য সংগ্রহের উপাদানগুলির সংখ্যা ছাড়িয়ে যায় তবে ফলাফলটি সংগ্রহে সমস্ত উপাদান থাকে।
অতএব, পূর্ববর্তী উদাহরণের বিকল্প হিসাবে, আপনি অন্য অ্যারের প্রথম উপাদানগুলি থেকে নতুন অ্যারে তৈরি করতে নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:
let array = Array(10...14) // [10, 11, 12, 13, 14]
let arraySlice = array.prefix(3)
let newArray = Array(arraySlice)
print(newArray) // prints [10, 11, 12]