[Có thể bạn chưa biết?] Một vài cách viết ngắn gọn trong Ruby on Rails (phần 2)
Tiếp nối phần 1, mình sẽ tiếp tục mang đến những cách viết ngắn gọn trong Ruby on Rails cho các bạn trong post này. Lên đường nàoooo! Nối String với "# {}" thay vì "+" "Hello, " + user . name + "!" Nhìn đẹp hơn rồi nhỉ ^^ "Hello, #{ user . name } !" String với nhiều dòng ...
Tiếp nối phần 1, mình sẽ tiếp tục mang đến những cách viết ngắn gọn trong Ruby on Rails cho các bạn trong post này. Lên đường nàoooo!
Nối String với "# {}" thay vì "+"
"Hello, " + user.name + "!"
Nhìn đẹp hơn rồi nhỉ ^^
"Hello, #{user.name}!"
String với nhiều dòng
Cái này khá hay ho và đẹp mắt, thay vì dùng để xuống dòng
text = "Hello, world! Good-bye, world!"
Chúng ta có thể viết như thế này nè
text = <<-TEXT Hello, world! Good-bye, world! TEXT
Cố định hằng số với String
Dù hằng số được khai báo là một chuỗi ký tự, một mảng hay một hash, thì cũng cần cố định giá trị của nó (đúng như ý nghĩa của hằng số là bất biến), không nên thay đôi hằng số
CONTACT_PHONE_NUMBER = "03-1234-5678" CONTACT_PHONE_NUMBER << "@#$%^" puts CONTACT_PHONE_NUMBER # => 03-1234-5678@#$%^
Cố định với freeze
CONTACT_PHONE_NUMBER = "03-1234-5678".freeze CONTACT_PHONE_NUMBER << "@#$%^" # => RuntimeError: can't modify frozen String
Với mảng
ADMIN_NAMES = ["Tom", "Alice"] ADMIN_NAMES << "Taro" ADMIN_NAMES[0].downcase! puts ADMIN_NAMES # => ["tom", "Alice"]
ADMIN_NAMES = ["Tom", "Alice"].freeze.each(&:freeze) ADMIN_NAMES << "Taro" # => RuntimeError: can't modify frozen Array ADMIN_NAMES[0].downcase! # => RuntimeError: can't modify frozen String
Với Số nguyên
Thực ra, vì số nguyên (FixNum) không thể thay đổi, nó không quan trọng nếu bạn không đóng băng nó =)))
# Không có lỗi và cũng không có ý nghĩa (yaoming) ITEM_LIMIT = 500.freeze
Khi khởi tạo array hay hash, có thể (nên) giữ dấu "," ở phần tử cuối cùng
countries = [ :japan, :italy, :uk ] capitals = { japan: 'Tokyo', italy: 'Rome', uk: 'London' }
countries = [ :japan, :italy, :uk, ] capitals = { japan: 'Tokyo', italy: 'Rome', uk: 'London', }
Tại sao mình khuyên các bạn nên giữ dấu "," vào phần tử cuối cùng khi code, vì sẽ có trường hợp các phần tử được thêm vào trong tương lai, khi đó chúng ta không cần phải sửa đổi dòng trước đó, có thể tiết kiệm cho bạn 1 chút thời gian. Ngoài ra, nếu bạn thêm dấu phẩy vào tất cả các phần tử, bạn cũng có thể sửa đổi thứ tự của các phần tử bằng cách cắt và dán đơn giản mà không phải lo lắng gì cả.
Khi tạo mảng, hãy sử dụng %w(),%i() thay vì []
Cách viết này khá ngắn gọn và nhìn code đẹp + pro hơn xíu xíu đó