+2

Ruby: Chú ý khi dùng `downcase!`

Chú ý khi dùng downcase!

downcase! sẽ trả về nil nếu như xâu ký tự không có thay đổi.
Ví dụ:

"FiShiNg".downcase! # return: fishing
"fishing".downcase! # return: nil

Vì vậy, cần cẩn thận không dùng ghép downcase! với các câu lệnh khác, đề phòng trường hợp kết quả không như mong muốn, như trường hợp sau:

class Person
  attr_reader :hobbies
  def initialize
    @hobbies = []
  end
  def has_hobby hobby
    @hobbies << hobby.downcase! unless @hobbies.includes? hobby
  end
end

person = Person.new
person.has_hobby "Fishing"
p person.hobbies
# Expect: ["fishing"]
# Got: [nil]

Tương tự, cần cẩn trọng khi dùng các hàm xử lý xâu ký tự khác như upcase!, swapcase!, capitalize!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí