Ruby 어레이: %w 대 %W
무엇이 다른가요?
%w 따옴표(단일 따옴표 등)''
(변수 보간 없음, 이스케이프 시퀀스 수 감소) 반면, %W는 큰따옴표와 같이 따옴표로 묶습니다.""
.
irb(main):001:0> foo="hello"
=> "hello"
irb(main):002:0> %W(foo bar baz #{foo})
=> ["foo", "bar", "baz", "hello"]
irb(main):003:0> %w(foo bar baz #{foo})
=> ["foo", "bar", "baz", "\#{foo}"]
%W 대 %w에 대해 찾은 응용 프로그램:
greetings = %W(hi hello #{"how do you do"})
# => ["hi", "hello", "how do you do"]
%W는 일반적인 이중 따옴표 대체를 수행하지만 %w는 그렇지 않습니다.
오래된 게시물임에도 불구하고 질문이 계속 나오고 답이 항상 명확하지는 않습니다.제 생각은 이렇습니다.
%w 및 %W는 배열과 관련된 일반 구분 입력 유형의 예입니다.%q, %Q, %r, %x 및 %i를 포함하는 다른 유형이 있습니다.
대문자와 소문자의 차이점은 단일 따옴표와 이중 따옴표의 기능에 액세스할 수 있다는 것입니다.단일 따옴표와 소문자 %w를 사용하면 코드 보간(예: #{someCode})이 없고 작동하는 이스케이프 문자 범위가 제한됩니다(예: \, \n).큰따옴표와 대문자 %W를 사용하면 이러한 기능에 액세스할 수 있습니다.
사용되는 구분 기호는 열린 괄호만 사용할 수 있는 것이 아니라 모든 문자일 수 있습니다.위의 예를 사용하여 효과를 확인하십시오.
%w의 예와 전체 목록, 이스케이프 문자 및 구분 기호를 사용하여 전체를 작성하려면 http://cyreath.blogspot.com/2014/05/ruby-w-vs-w-secrets-revealed.html 을 참조하십시오.
마크.
백분율 문자열에 대한 설명서: http://ruby-doc.org/core-2.2.0/doc/syntax/literals_rdoc.html#label-Percent+Strings
%W
와 같은 이중 패리티 어레이 요소에 사용됩니다.%Q
,예를들면,
foo = "!"
%W{hello world #{foo}} # => ["hello", "world", "!"]
%w
와 같은 단일 프로세서 어레이 요소에 사용됩니다.%q
.
%w(hello world #{foo})
# => ["hello","world", "\#{foo}"]
array = %w(a b c d)
동일한 이름
array = ["a", "b", "c", "d"]
%w
는 문자열에 대한 따옴표의 바로 가기 기호입니다!
언급URL : https://stackoverflow.com/questions/690794/ruby-arrays-w-vs-w
'programing' 카테고리의 다른 글
%23이 들어 있는 URL을 다시 쓰는 방법은 무엇입니까? (0) | 2023.06.18 |
---|---|
매크로 - 폴더의 모든 파일 열기 (0) | 2023.06.18 |
지정된 클래스의 계층 구조에 있는 모든 기본 클래스를 나열하시겠습니까? (0) | 2023.06.18 |
IF 문의 값 목록과 비교하는 방법은 무엇입니까? (0) | 2023.06.18 |
파이썬에서 openpyxl을 사용하여 Excel 스프레드시트에 행 삽입 (0) | 2023.06.18 |