반응형
루비 : 콜론 전후
이 질문에 이미 답변이 있습니다.
Ruby를 사용할 때 :.
누군가 내가 변수 이름 앞에 사용할 :name때와 같은 변수 뒤에 사용해야 할 때를 설명해 주 name:시겠습니까?
예는 숭고 할 것입니다.
다음을 만드는 동안 둘 다 환영합니다 Hash.
{:name => "foo"}
#or
{name: 'foo'} # This is allowed since Ruby 1.9
그러나 기본적으로 Ruby :name의 Symbol객체입니다.
에서 문서
해시는 키가 항상 기호 일 때 대체 구문 형식을 허용합니다. 대신에
options = { :font_size => 10, :font_family => "Arial" }
다음과 같이 작성할 수 있습니다.
options = { font_size: 10, font_family: "Arial" }
이것은 변수와는 전혀 관련이 없습니다.
:fooA는 Symbol리터럴처럼, 'foo'A는 String문자와 42입니다 Integer리터럴.
foo: 세 곳에서 사용됩니다.
Symbol리터럴의 키로서의 리터럴에 대한 대체 구문Hash:{ foo: 42 } # the same as { :foo => 42 }- 키워드 매개 변수를 선언하기위한 매개 변수 목록에서 :
def foo(bar:) end - 키워드 인수를 전달하기위한 인수 목록에서 :
foo(bar: 42)
:name상징입니다. name: "Bob"기호 :name키와 문자열 "Bob"을 값으로 사용하여 해시를 정의하기위한 특수한 축약 구문입니다 { :name => "Bob" }. 그렇지 않으면 .
해시를 생성 한 후에 사용할 수 있습니다.
기호를 참조하려고 할 때 이전에 사용합니다.
Arup의 예에서는 {name: 'foo'}심볼을 만들고이를 키로 사용합니다.
나중에 해당 해시가 변수 baz에 저장되면 생성 된 키를 기호로 참조 할 수 있습니다.
baz[:name]
참고 URL : https://stackoverflow.com/questions/24661857/ruby-colon-before-vs-after
반응형
'Program Club' 카테고리의 다른 글
| NxN 이진 행렬에서 0 만 포함 된 가장 큰 직사각형 찾기 (0) | 2020.10.24 |
|---|---|
| WebSocket에 대한 동일 출처 정책이없는 이유는 무엇입니까? (0) | 2020.10.24 |
| Java에서 URL 연결은 언제 종료됩니까? (0) | 2020.10.24 |
| iPhone 앱에서 SSL 사용-수출 규정 준수 (0) | 2020.10.24 |
| Vim-선택한 범위의 행 수 (0) | 2020.10.23 |