Program Club

루비 : 콜론 전후

proclub 2020. 10. 24. 12:02
반응형

루비 : 콜론 전후


Ruby를 사용할 때 :.

누군가 내가 변수 이름 앞에 사용할 :name때와 같은 변수 뒤에 사용해야 할 때를 설명해 주 name:시겠습니까?

예는 숭고 할 것입니다.


다음을 만드는 동안 둘 다 환영합니다 Hash.

{:name => "foo"}
#or
{name: 'foo'} # This is allowed since Ruby 1.9

그러나 기본적으로 Ruby :nameSymbol객체입니다.

에서 문서

해시는 키가 항상 기호 일 때 대체 구문 형식을 허용합니다. 대신에

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

반응형