Comment trong Ruby là gì?
Một comment Ruby thêm thông tin vào code của bạn có thể hữu ích cho bạn hoặc developers khác.
Loại comment phổ biến nhất là comment một dòng (single-line comment).
Cú pháp:
# I like apples & oranges
Chú ý ba điều:
- Comment bắt đầu bằng ký hiệu thăng (
#) - Chúng ta đặt một khoảng trắng giữa nội dung comment & đầu comment để dễ đọc hơn
- Mọi thứ bên trong comment không được thông dịch thành code, ngay cả khi nó trông như code. Điều này có nghĩa là bạn có thể tạm thời comment out code để vô hiệu hóa nó.
Bạn có thể dùng comment này riêng lẻ, hoặc inline, ở cuối dòng code.
Như thế này:
[].size # get array size
Có loại comment khác không?
Có, có magic comments, multiline comments & ERB comments.
Hãy khám phá những cái đó!
Cách dùng Multi-Line Comments trong Ruby
Trong Ruby, chúng ta làm multiline comments bằng comment đơn dòng thông thường.
Một số người gọi đây là "block comments".
Ví dụ:
# aaa # bbb # ccc
Đó chính là cách comment out một block code trong Ruby.
Editor code hiện đại cho phép bạn chọn block code & comment tất cả dùng phím tắt, nên không tốn công sức thêm.
Nhưng có một cú pháp multiline comment đặc biệt.
Trông như thế này:
=begin This is a comment... a b c =end
Không ai dùng cú pháp này…
Nó xấu & bạn thậm chí không thể dùng nó bên trong bất cứ thứ gì được indent (như phương thức), nhưng tốt để biết nó tồn tại nếu bạn bao giờ gặp nó trong tự nhiên.
SheBang Comments
Shebang (#!) là một loại comment đặc biệt nói cho Unix shell (như bash) biết cách thông dịch file này.
Khi bạn thêm comment này ở đầu file…
Bạn sẽ có thể chạy file Ruby như file thực thi, giả sử chúng có đúng quyền để làm điều đó.
Shebang comment trông như sau:
#!/usr/bin/env ruby
Điều này cũng cho phép bạn thiết lập tùy chọn dòng lệnh cụ thể, như tùy chọn warning.
Ví dụ:
#!/usr/bin/env ruby -w
Mỗi lần bạn chạy code này, nó sẽ chạy với các tùy chọn này, nên bạn không phải truyền thủ công.
Cách dùng Magic Comments
Magic comment thay đổi hành vi của trình thông dịch Ruby theo cách nào đó.
Ví dụ:
Comment frozen_string_literals sẽ làm cho chuỗi của bạn bị đóng băng mặc định.
Trông như sau:
# frozen_string_literal: true
Magic comment khác cho phép bạn thay đổi encoding của file.
Ví dụ:
# encoding: utf-8
Và đây là một cái thú vị, comment warn_indent:
# warn_indent: true
Điều này sẽ hiển thị cảnh báo bất cứ khi nào indent của bạn sai.
Ví dụ:
def comments end
Kết quả:
warning: mismatched indentations at 'end' with 'def' at 3
ERB Comments
Nếu bạn dùng ERB cho view Rails & cần thêm comment…
Thì bạn có thể dùng cú pháp này:
<%# ERB comment %>
Tôi không quá thích điều này vì tôi tin bạn nên giữ phần lớn logic ra khỏi view nên bạn không nên cần comment.
Muốn vô hiệu hóa code để debug?
Thì xóa code đó & tin tưởng git, hoặc bất kỳ hệ thống version control nào bạn đang dùng.
Tóm tắt
Bạn đã học về các loại comment Ruby khác nhau, bao gồm comment thường (#), shebang (#!) & magic comments (# frozen_string_literal: true)!
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè để họ cũng tận hưởng.
Cảm ơn bạn đã đọc!