쉬운 질문이지만 문서에서 찾을 수 없습니다.
n
영원히 문자열이나 배열을 어떻게 슬라이스 합니까?
>> 'Austin'[1..3]
=> "ust"
>> 'Austin'[1..]
SyntaxError: compile error
(irb):2: syntax error, unexpected ']'
from (irb):2
답변
역 인덱싱 사용 :
[1..-1]
Ruby (및 일부 다른 언어)의 요소에는 정방향 색인과 “역방향”색인이 있습니다. 따라서 길이 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"
답변
Ruby 2.6에 도입 된 무한 범위를 사용하여 매우 우아합니다 .
string = 'Austin'
string[1..] # => ustin
누군가에게 편리하기를 바랍니다. 지금까지 최선의 접근 방식에서 몇 개의 문자를 잘라 내고 끝없는 범위가 정기적으로 채택되면 매우 가독성이 좋습니다.
답변
문자열을 변수에 할당하면 길이 / 크기를 사용할 수 있습니다.
string = 'Austin'
string[1..string.length] # => ustin
string[1..string.size] # => ustin