문제

새 배열/해시를 만들 때 irb, 그것은 구조를 보여주기 위해 멋진 형식을 인쇄합니다.

["value1", "value2", "value3"]
{"key1" => "value1"}

...하지만 사용하여 변수를 인쇄하려고 할 때 puts, 나는 그것들을 무너 뜨린다 :

value1
value2
value3
key1
value1

나는 그것을 수집한다 puts 내가 원하는 것에 대한 올바른 명령은 아니지만 무엇입니까? 내 변수를 irb 첫 번째 형식에서는 두 번째 형식이 아닙니다.

도움이 되었습니까?

해결책

당신은 그것을 사용할 수 있습니다 inspect 방법:

a=["value1", "value2", "value3"]
puts a.inspect

또는 PP (Pretty Print) Lib를 사용하십시오.

require 'pp'
a=["value1", "value2", "value3"]
pp a

다른 팁

당신이 할 수있는 또 다른 일은 사용하는 것입니다 y 입력을 YAML로 변환하는 방법. 그것은 아주 좋은 출력을 생성합니다 ...

>> data = { 'dog' => 'Flemeale', 'horse' => 'Gregoire', 'cow' => 'Fleante' }
=> {"cow"=>"Fleante", "horse"=>"Gregoire", "dog"=>"Flemeale"}
>> y data
--- 
cow: Fleante
horse: Gregoire
dog: Flemeale

예쁜 인쇄는 잘 작동하지만 굉장한 _print 보석이 더 좋습니다! 넌해야만 해 require awesome_print 그러나 중첩 된 해시를 처리하고 'P'대신 'AP'를 사용하여 출력을 넣기 위해 터미널에서 아름답게 플러스 색상을 처리합니다.

~/.irbrc에 포함시켜 객체를 표시하기위한 기본 메소드로 포함시킬 수도 있습니다.

require "awesome_print"
AwesomePrint.irb!

.inspect를 시도하십시오

>> a = ["value1", "value2", "value3"]
=> ["value1", "value2", "value3"]
>> a.inspect
=> "[\"value1\", \"value2\", \"value3\"]"
>> a = {"key1" => "value1"}
=> {"key1"=>"value1"}
>> a.inspect
=> "{\"key1\"=>\"value1\"}"

p () 메소드를 사용하여 인쇄 할 수도 있습니다.

>> p a
{"key1"=>"value1"}

이것에 대한 나의 개인적인 도구는 'Pretty Print'이며 pp 방법

require 'pp' # <- 'Pretty Print' Included in ruby standard library
pp({ :hello => :world, :this => ['is', 'an', 'array'] })
=> {:hello=>:world, :this=>["is", "an", "array"]} 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top