Ruby에서 데이터를 인쇄하는 5가지 방법
16443 단어 rubycodenewbiebeginnersprogramming
print vs puts
p vs pp vs ap
인쇄 대 넣다
가장 먼저 주목해야 할 것은 콘텐츠를 인쇄하지만 둘 다
nil
를 반환한다는 것입니다.넣다
to_s
메소드를 호출하여 모든 것을 문자열로 변환하려고 시도합니다.irb(main):002:0> puts "take a look at where the cursor is :) "
take a look at where the cursor is :)
=> nil
irb(main):004:0> 2.times {puts "hey you!"}
hey you!
hey you!
=> 2
# Puts converts everything it cans to string
irb(main):031:0> puts [1,nil,nil,2]
1
2
=> nill
인쇄
irb(main):001:0> print "you should not see a new line at the end"
you should not see a new line at the end => nil
irb(main):003:0> 2.times {print "hey you!"}
hey you!hey you! => 2
print [1,nil,nil,2]
[1, nil, nil, 2] => nil
p 대 pp 대 ap
개체의 원시 버전을 표시(반환)하므로 디버깅에 더 유용합니다.
끝에 줄 바꿈을 추가한다는 점에서 puts와 유사하지만 to_s를 호출하는 대신:
피
inspect
메서드를 호출합니다.irb(main):033:0> p 1
1
=> 1
irb(main):034:0> p '1'
"1"
=> "1"
irb(main):035:0>
irb(main):035:0> puts 1
1
=> nil
irb(main):036:0> puts '1'
1
=> nil
irb(main):037:0> puts '1'.inspect
"1"
=> nil
PP
pretty_inspect
메서드를 호출합니다. 복잡한 중첩 개체를 처리할 때 더 유용합니다.irb(main):038:0> data = [ false, 42, %w(forty two), { :now => Time.now, :class =
> Time.now.class, :distance => 42e42 } ]
=>
[false,
...
irb(main):039:0> pp data
[false,
42,
["forty", "two"],
{:now=>2022-06-09 12:06:44.161486 -0400, :class=>Time, :distance=>4.2e+43}]
=>
[false,
42,
["forty", "two"],
{:now=>2022-06-09 12:06:44.161486 -0400, :class=>Time, :distance=>4.2e+43}]
irb(main):040:0>
ap
ap
가 포함되어 있지 않습니다[이 기사를 작성할 당시, ruby 3.1.2]. 다음을 실행하여 설치해야 합니다.gem install awesome_print
irb 세션에
require "awesome_print"
를 추가해야 합니다.irb(main):002:0> require "awesome_print"
=> true
irb(main):003:0> data = [ false, 42, %w(forty two), { :now => Time.now, :class =
> Time.now.class, :distance => 42e42 } ]
=>
[false,
...
irb(main):004:0> ap data
[
[0] false,
[1] 42,
[2] [
[0] "forty",
[1] "two"
],
[3] {
:now => 2022-06-09 12:56:59.184906 -0400,
:class => Time < Object,
:distance => 4.2e+43
}
]
=> nil
실제로 작동하는 방식
그들은 모두
$stdout
전역 변수를 사용합니다. 현재 표준 출력을 나타냅니다.오늘 우리가 이야기한 방법은 $stdout 전역 변수를 사용하여 메시지를 전송하여 컴퓨터의 출력 스트림(운영 체제와 통신)과 통신하고 메시지를 콘솔에 출력합니다.
참조
Reference
이 문제에 관하여(Ruby에서 데이터를 인쇄하는 5가지 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andressa/5-different-methods-to-print-data-in-ruby-3957텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)