Ruby 구문의 직접적인 문자열 표현을 얻는 간단한 방법이 있습니까? 예를 들어Ruby에서 직접 문자열 표현
:
a = [:foo, :bar]
a.to_s
를 호출 할 때 내가 얻을 :
"foobar"
내가 무엇을 찾고 있어요 것은 :
"[:foo, :bar]"
Ruby 구문의 직접적인 문자열 표현을 얻는 간단한 방법이 있습니까? 예를 들어Ruby에서 직접 문자열 표현
:
a = [:foo, :bar]
a.to_s
를 호출 할 때 내가 얻을 :
"foobar"
내가 무엇을 찾고 있어요 것은 :
"[:foo, :bar]"
사용중인 Ruby 버전은 무엇입니까? 루비 1.9 사용하여 내가 얻을 :
irb(main):002:0> a = [:foo, :bar]
=> [:foo, :bar]
irb(main):003:0> a.to_s
=> "[:foo, :bar]"
irb(main):004:0> a.inspect
=> "[:foo, :bar]"
편집 : @ fl00r으로는 1.8.7에서 당신은 inspect
을 사용할 수 있습니다 지적했다. 일반적으로 inspect
은 to_s
이 아닌 경우에도 사람이 읽을 수있는 문자열을 제공한다고 가정합니다. ruby docs에서 :
obj.inspect → 문자열
OBJ의 사람이 읽을 수있는 표현을 포함하는 문자열을 반환합니다. 재정의되지 않고 인스턴스 변수가없는 경우 to_s 메서드를 사용하여 문자열을 생성합니다.
to_s은 사람이 읽을 수있는 것으로 주장하지 않습니다.
1.8.7에서는 inspect
방법을 사용할 수 있습니다 그 경우
a = [:foo, :bar]
a_string = a.inspect
는 inspect
당신이 찾고있는 무엇인가의 inspect
방법, 예컨대 : "간단한"객체의 경우
a = [:foo, :bar]
a.inspect # => "[:foo, :bar]"
을보십시오.
>> StringIO.new.inspect
=> "#<StringIO:0x00000100cc68d8>"
1.8.7에 가입 할 하나의 방법 ('inspect')를 사용할 수있는 방법을 자주 배열 – fl00r
재미 결코 : 더 복잡한 객체의 경우
, 모두 도움이 될 수 없습니다 그것이 정말로하는 것을 깨닫는다 : - / – Zardoz