IT Share you

Ruby : 배열 및 해시에 대한 IRB 인쇄 구조를 만드는 방법

shareyou 2020. 11. 9. 21:33
반응형

Ruby : 배열 및 해시에 대한 IRB 인쇄 구조를 만드는 방법


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

예쁜 프린트가 잘 작동하지만 Awesome_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"]} 

참고 URL : https://stackoverflow.com/questions/703049/ruby-how-to-make-irb-print-structure-for-arrays-and-hashes

반응형