programing

Ruby 어레이: %w 대 %W

lovejava 2023. 6. 18. 10:01

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