Programing

루비 문자열 슬라이스 인덱스 : str [n..infinity]

lottogame 2020. 10. 26. 07:39
반응형

루비 문자열 슬라이스 인덱스 : str [n..infinity]


쉬운 질문이지만 문서에서 찾을 수 없습니다.

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

누군가에게 편리하기를 바랍니다. 지금까지 최선의 접근 방식에서 몇 개의 문자를 잘라 내고 끝없는 범위가 정기적으로 채택되면 매우 가독성이 좋습니다.


사용해보십시오 [1..-1]


문자열을 변수에 할당하면 길이 / 크기를 사용할 수 있습니다.

string = 'Austin'
string[1..string.length]  # => ustin
string[1..string.size]    # => ustin

참고 URL : https://stackoverflow.com/questions/3611586/ruby-string-slice-index-strn-infinity

반응형