2016-08-23 3 views
0

무엇루비 중괄호 값

set: example1, "/random/string" 

set: example2, -> {"random/string"} 

들이 모두 같은 효과를 가지고 있습니까 루비에서이 두 가지 변화의 차이점은 무엇입니까?

+0

컨텍스트를 제공 할 수 있습니까? 구문이 유효하지 않습니다. – Stefan

답변

1

표면적으로 유사하지만 실제로는 완전히 다른 두 가지입니다.

첫 번째 문자열은 간단한 문자열이고 두 번째 문자열은 Proc입니다. 문자열을 반환합니다. Ruby 세계의 많은 메소드가 둘 모두를 차지합니다. Proc 버전은 필요할 때까지 평가를 연기하는 방법입니다.

-> { ... } 표기 lambda { ... } 속기이고, 상기 stabby 람다 운영자라고.

+1

저에게, 그들은 둘 다'SyntaxError'처럼 보이므로, 그것들은 정확히 같은 의미입니다. –

+0

@ JörgWMittag 한 사람의 회선 잡음은 다른 사람의 코드입니다. – tadman