Nhầm tưởng về 3 chiến binh này
Lúc đâu mình cứ tưởng 3 bạn này giống nhau, p là một alias cho hàm puts nhưng khi thử lại thì lại không phải vậy
Khi thử trên terminal sẽ ra kết quả sau:
Khi thử trên terminal sẽ ra kết quả sau:
p 'something' "something" => "something" puts 'something' "something" => nil print 'something' "something"=> nil
Như vậy hàm cả 3 hàm đều in giá trị ra terminal tuy nhiên hàm p và puts sẽ thêm một kí tự xuống dòng vào cuối chuỗi
print thì không. p sẽ trả về chuỗi đã được nhập vào trong khi puts và print sẽ trả về nil.
Có thể kết luận 3 hàm này độc lập với nhau.
Tuy nhiên 3 hàm này là hàm trong kernel của Ruby nên không thể truy được source code bằng hàm source_location.
print thì không. p sẽ trả về chuỗi đã được nhập vào trong khi puts và print sẽ trả về nil.
Có thể kết luận 3 hàm này độc lập với nhau.
Tuy nhiên 3 hàm này là hàm trong kernel của Ruby nên không thể truy được source code bằng hàm source_location.