2014-01-13 2 views
0

이 같은 클래스를 가지고있다.문자열 보간 인쇄 변수 이름 대신 변수 내용

이 문제를 해결할 방법이 있습니까? 감사!

+0

정말입니까? 나는 당신의 코드를'Example.new.printThisVar ("exampleText \ n")'로 테스트했고 예상대로 행동했다. – Max

+0

루비 2.0과 1.8에서 코드를 실행하면 문제가 없습니다. 아마도'print'가 코드의 어딘가에 오버로드되고있을 것입니다. 'print' 대신에'puts'를 써 보았습니까? – Matt

+0

@Max yeah - 이상하게 생각합니다. 파일에 저장하고 터미널을 통해 실행하면 작동하지 않는다는 것을 알아 냈습니다. 오류가 발생했습니다 ...하지만 irb를 통해 실행하면, 그렇지 않습니다. –

답변

3

print하려는 문자열을 큰 따옴표 대신 큰 따옴표로 묶었습니다.

class Example 
    def print_this_var(print_thing) 
     print 'this is the var: #{print_thing}' 
    end 
end 

foo = Example.new 
foo.print_this_var("example_text") 

#=> this is the var: #{print_thing} 

 print "this is the var: #{print_thing}" 

에 메소드 정의를 변경하면

#=> this is the var: example_text 

문자열 보간 따옴표 작동하지 않습니다 산출한다.

+0

감사합니다. ? –

+0

@ user22138 큰 따옴표 문자열 만 보간 할 수 있습니다. [Ruby Literals - Strings] (http://www.ruby-doc.org/core-2.1.0/doc/syntax/literals_rdoc.html#label-Strings)를 참조하십시오. – Stefan