সহজ প্রশ্ন, কিন্তু এটি দস্তাবেজে খুঁজে পেল না।
আমি কীভাবে স্ট্রিং বা অ্যারে থেকে nচিরতরে স্লাইস করব?
>> 'Austin'[1..3]
=> "ust"
>> 'Austin'[1..]
SyntaxError: compile error
(irb):2: syntax error, unexpected ']'
from (irb):2
সহজ প্রশ্ন, কিন্তু এটি দস্তাবেজে খুঁজে পেল না।
আমি কীভাবে স্ট্রিং বা অ্যারে থেকে nচিরতরে স্লাইস করব?
>> 'Austin'[1..3]
=> "ust"
>> 'Austin'[1..]
SyntaxError: compile error
(irb):2: syntax error, unexpected ']'
from (irb):2
উত্তর:
বিপরীত সূচক ব্যবহার করুন:
[1..-1]
রুবির একটি উপাদান (এবং কিছু অন্যান্য ভাষায়) সরাসরি ফরোয়ার্ড সূচক এবং একটি "বিপরীত" থাকে। সুতরাং, দৈর্ঘ্য সহ STRING nহয়েছে 0..(n-1)এবং অতিরিক্ত (-n)..-1ইনডেক্স, কিন্তু কোন আরো - আপনি ব্যবহার করতে পারবেন না >=nবা <-nইনডেক্স।
'i' 'n'|'A' 'u' 's' 't' 'i' 'n'|'A' 'u' 's' 't' 'i' 'n'|'A' 'u' 's'
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8
<- error | you can use this | error ->
ব্যবহার -1 :-)
'Austin'[1..-1] # => "ustin"
রুবি ২.6 এ অন্তর্ভুক্ত অন্তহীন পরিসীমা ব্যবহার করে বেশ মার্জিত :
string = 'Austin'
string[1..] # => ustin
আশা করি এটি কারও পক্ষে কার্যকর। সেরা পন্থা থেকে এখন অবধি বেশ কয়েকটি চরিত্র কেটে ফেলে এবং অবিরাম পরিসীমা নিয়মিতভাবে গৃহীত হলে খুব পঠনযোগ্য।
আপনি যদি কোনও পরিবর্তনশীলকে স্ট্রিংটি বরাদ্দ করেন তবে আপনি দৈর্ঘ্য / আকার ব্যবহার করতে পারেন
string = 'Austin'
string[1..string.length] # => ustin
string[1..string.size] # => ustin