Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

Cơ bản Output Ruby: Chọn giữa puts, print và p

Có nhiều cách in ra màn hình trong Ruby.

Các cách hữu ích nhất:

  • puts
  • print
  • p

Nhưng chúng khác nhau như thế nào?

Và khi nào nên dùng cái nào?

Đó là điều bạn sẽ học trong bài này!

In không xuống dòng mới

Khi muốn in thứ gì đó ra màn hình cho user xem, bạn thường dùng puts.

Như sau:

 puts "Hello there!" 

Puts tự động thêm dòng mới cuối thông điệp mỗi lần dùng.

Nếu không muốn xuống dòng, dùng print.

Ví dụ:

 print 123 

Lần sau bạn print gì nó sẽ cùng dòng với thông điệp trước.

Ví dụ:

 print 123
print 456
print 789
123456789 

Nhưng nếu dùng puts:

 puts 123
puts 456
puts 789
123
456
789 

Mỗi thông điệp có dòng riêng!

Puts cũng xử lý array khác biệt.

Ví dụ:

 puts [1,2]
1
2
print [1,2]
[1,2] 

Khác biệt khác:

Puts cố gắng chuyển mọi thứ thành string (bằng cách gọi to_s).

Tại sao quan trọng?

Vì nếu bạn puts array có giá trị nil…

Sẽ hiển thị dòng trống!

Ví dụ:

 puts [1,nil,nil,2]
1
2 

Tóm lại, puts và print:

  • Chuyển thứ thành string, ngay cả khi là string rỗng

Chỉ puts:

  • Thêm dòng mới cuối thông điệp
  • Hiển thị phần tử array mỗi dòng một

Debug Output với P

puts vs p thì sao?

p là phương thức hiển thị phiên bản "raw" hơn của object.

Ví dụ:

 > puts "Ruby Is Cool"
Ruby Is Cool
> p "Ruby Is Cool"
"Ruby Is Cool" 

p hữu ích cho gì?

Debug.

Khi bạn tìm thứ như ký tự newline (thường vô hình), hoặc muốn chắc chắn giá trị đúng, dùng p.

Khác biệt khác:

  • puts luôn trả về nil
  • p trả về object bạn truyền vào

Đây là khác biệt kỹ thuật…

Nhưng có thể hiện ra nếu bạn thử puts biến làm dòng cuối của phương thức, và bạn dùng return value của phương thức đó.

Ví dụ:

 def numbers
  puts 123
end
numbers # nil 

Trong ví dụ này, phương thức numbers sẽ hiển thị 123 ra màn hình, nhưng return value là nil.

Nếu bạn thử:

 result = numbers 

Thì result sẽ là nil, thay vì 123.

Nhưng nếu dùng p thì sẽ chạy được.

Pretty Printing

Ruby còn một phương thức in khác.

Gọi là pp.

Này giống p nhưng in hash và array lớn đẹp hơn.

Lưu ý Ruby cũ (trước 2.4) cần require 'pp' để dùng phương thức này.

Video hướng dẫn

Tóm tắt

Bạn đã học khác biệt giữa puts, print và p trong Ruby!

Cơ bản Output Ruby: Chọn giữa puts, print và p

Giờ là thời gian thực hành.

Nếu bạn practice ngay với kiến thức mới, bạn sẽ tích hợp thông tin vào knowledge base, nếu không practice bạn sẽ quên và không tiến bộ.