[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 문자열에 따옴표의 바로 가기 기호입니다!