2013-07-16 1 views

답변

21

는 루비, 펄과는 달리, 달러 기호 전역 변수가 아닌 문자열로 확장 할 수있는 일반 정기 변수를 나타냅니다. 나는이가 더 읽기 답이라고 생각

irb(main):011:0> str = '\'howdy\'' 
=> "'howdy'" 
irb(main):012:0> `ruby -e "p #{str}"` 
=> "\"howdy\"\n" 
+0

위의 문장은 fedora 컴퓨터에서 1.8.7 버전의 ruby를 사용하고 있습니다. –

+0

당신은 당신의 script_dir 변수가 적절한 값을 가지고 있는지 확인 했습니까? – Bogatyr

+0

또한 -e에 대한 인수는 따옴표로 묶고 편집해야합니다. p에 대한 인수는 따옴표로 묶여 있어야하기 때문에 따옴표를 사용할 때는주의해야합니다. script_dir = '\'foo \ '' – Bogatyr

13

루비 string interpolation는 역 따옴표 연산자와 함께 작동 :

p `ruby -e p "#{script_dir}"` 
+0

1 :

p 'ruby -e "p #{script_dir}"' 

예 : 문자열에서는 # {} 구문을 사용해야합니다. – ngks