Ruby 출력 함수 print vs puts vs p 차이
Ruby에서 출력을 하기 위해서 [print], [puts], [p] 함수를 사용하실 텐데요.
이 세가지 함수들의 차이점에 대해서 알려드리도록 하겠습니다.
var0 = "문자열"
var1 = 29
var2 = ["a", "b", "c"]
var3 = {a: "A", b: "B"}
var4 = true
var5 = nil
print var0 # OR print(var0)
print var1
print var2
print var3
print var4
print var5
# OR print var0, var1, var2, var3, var4, var5
# OR print(var0, var1, var2, var3, var4, var5)
# Output
# 문자열29["a", "b", "c"]{:a=>"A", :b=>"B"}true
print 함수를 사용하여 값을 출력할 수 있습니다.
print 함수를 사용하여 값을 출력하면 줄 바꿈이나 공백 없이 출력되게 됩니다.
줄 바꿈을 하고싶다면 "\n" 을 사용하여 줄 바꿈을 할 수 있습니다.
puts
var0 = "문자열"
var1 = 29
var2 = ["a", "b", "c"]
var3 = {a: "A", b: "B"}
var4 = true
var5 = nil
puts var0 # OR puts(var0)
puts var1
puts var2
puts var3
puts var4
puts var5
# OR puts var0, var1, var2, var3, var4, var5
# OR puts(var0, var1, var2, var3, var4, var5)
# Output
# 문자열
# 29
# a
# b
# c
# {:a=>"A", :b=>"B"}
# true
#
puts 함수를 사용하여 값을 출력하게 되면 print와 달리 줄 바꿈이 되어 출력되게 됩니다.
또한 배열을 어떠한 문자열로 감싸거나 하지않고 그대로 출력하는 부분에서 보시면,
["a", "b", "c"] 로 출력되는 것이 아니라 a 한줄, b 한줄, c 한줄로 출력되는 특징이 있습니다.
p
var0 = "문자열"
var1 = 29
var2 = ["a", "b", "c"]
var3 = {a: "A", b: "B"}
var4 = true
var5 = nil
p var0 # OR p(var0)
p var1
p var2
p var3
p var4
p var5
# OR p var0, var1, var2, var3, var4, var5
# OR p(var0, var1, var2, var3, var4, var5)
# Output
# "문자열"
# 29
# ["a", "b", "c"]
# {:a=>"A", :b=>"B"}
# true
# nil
p 함수를 사용하여 값을 출력하게 되면 puts과 같이 줄 바꿈이 되어 출력되게 됩니다.
p 함수는 print 함수와 puts 함수와 다르게,
문자열을 출력할 때는 쌍따옴표(")로 감싸서 출력이 되고,
숫자는 그대로 출력이 되며,
배열도 한줄씩 출력되지 않고,
nil 값이 공백으로 출력되는 것이 아니라 nil 이라고 출력됩니다.
그렇기 때문에 해당 값이 정확히 어떤 타입인지 확인하기가 더 용이합니다.
이상으로 Ruby 출력 함수 [print], [puts], [p]의 차이에 대한 설명을 마치도록 하겠습니다.
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
'Developer > Ruby' 카테고리의 다른 글
Ruby 문자열 거꾸로 뒤집는 방법 - String.reverse (0) | 2022.09.07 |
---|---|
Ruby 주석 사용하는 방법 (How to write comments in Ruby) (0) | 2022.09.06 |
Ruby kind_of vs is_a vs instance_of 차이 (0) | 2022.09.04 |
Ruby 타입 확인 및 비교하는 방법 - How to check type in Ruby (0) | 2022.09.03 |
Ruby 변수 종류 4가지 정리 (지역 변수, 전역 변수, 인스턴스 변수, 클래스 변수) (0) | 2022.09.02 |
댓글