+1

Ruby lexical structure

Ngôn ngữ máy tính cũng như ngôn ngữ của con người đều có cấu trúc nhất định, trong hôm nay mình sẽ giới thiệu 1 số cấu trúc của ngôn ngữ ruby

Comment - bình luận

Bất cứ 1 ngôn ngữ lập trình nào cũng có các đoạn comment dùng để ghi chú mã nguồn, ruby cũng ko ngoại lệ, cú pháp comment của ruby có 2 loại là comment cho 1 dòng ( bắt đầu bởi dấu #) và comment cho n dòng (bọc bởi cặp kí hiệu =begin và =end)

comments.rb
=begin
  comments.rb
  thangtx
=end

puts "Comments example"

=begin
  comments.rb
  txthang
=end

Variable - Biến

"Biến" chỉ đến 1 cái tên, dại diện cho một công việc hoặc lưu trữ 1 giá trị bất kì, có thể là 1 đoạn text, 1 dãy số hoặc 1 đối tượng. Thông thương tên biến sẽ được đặt bằng các kí tự trong bảng chữ cái và dấu gạch dưới, nhưng ko nên dc bắt đầu bằng kí tự số, cũng ko nên bắt đầu bằng kí tự HOA, nếu dùng chữ HOA thì ruby sẽ hiểu nhầm sang là "hằng số "

company_name

company_name là biến.

12Val
exx$
first-name

Ở trên là các tên biến không hợp lệ.

Lưu ý: biến trong Ruby là có phân biệt HOA-thường, tức là thangtx và tHangtx là 2 biến khác nhau.

Hằng số – Constant

Hằng số cũng là các biến nhưng chỉ lưu một giá trị và không thể thay đổi được. Nhưng với ruby thì giá trị của các hằng số có thể thay đổi được, khi thay đổi giá trị hằng số ruby không báo lỗi mà chỉ đưa ra cảnh báo.

Tên của 1 hằng số thường dc bắt đầu bởi 1 kí tự viết Hoa tuy nhiên khi code ruby khi đặt tên hằng số ta nên viết hoa toàn bộ kí tự trong tên.

constants.rb
Ten = "thangtx"
TUOI = 30
 
Ten = "hoahau"

Ở đoạn code trên chúng ta định nghĩa hằng Ten và TUOI, sau đó thay đổi giá trị của Ten thì Ruby sẽ cảnh báo như sau.

warning: already initialized constant Ten

Literal - Giá trị

Giá trị là các kí tự mô tả một giá trị của một kiểu dữ liệu nào đó, có thể là một con số, một đoạn text… dùng để gán cho các biến.

tuoi = 30
ten = "thangtx"

Ở đoạn code trên thì "30" và “thangtx” là giá trị, tuoi và ten là biến.

Block - Khối lệnh

Khối lệnh là cách để chúng ta gộp nhóm các lệnh lại với nhau. Khối lệnh trong Ruby được bắt đầu và kết thúc bởi cặp dấu {} hoặc cặp từ khóa do-end.

puts [2, -1, -4, 0].delete_if { |x| x < 0 }
     
[1, 2, 3].each do |e|
    puts e
end

Ngoài các câu lệnh tính toán bình thường thì trong lập trình còn có các câu lệnh điều khiển, ví dụ như câu lệnh if, đây là câu lệnh điều kiện, theo sau if là một biểu thức rồi tới một khối lệnh nằm trong cặp từ khóa then-end. Chúng ta sẽ tìm hiểu thêm về các câu lệnh điều kiện sau.

if true then
    puts "Ruby language"
    puts "Ruby script"
end

Sigil

Sigil là các kí tự $ và @ dùng để khai báo phạm vi hoạt động của biến. Trong đó $ cho biết biến đó là một biến toàn cục, @ cho biết đó là biến instance, @@ là biến class.

$car_name = "Misubishi" @sea_name = "East Sea" @@species = "Cat"

Sigil luôn được đặt trước tên biến.

Operators - Toán tử

Toán tử là các kí tự thực hiện các hành động nào đó trên một giá trị nào đó.

! + - ~ * ** / % << >> & | ^ == === != <=> >= > < <= = %= /= -= += *= **= .. ... not and or ?: && ||

Keyword - từ khóa

Từ khóa là các từ ưu tiên trong Ruby, thường dùng làm các câu lệnh thực hiện hành động nào đó, chẳng hạn như in giá trị ra màn hình, thực hiện các công việc lặp đi lặp lại hay thực hiện tính toán. Khi đặt tên biến chúng ta không được đặt tên trùng với từ khóa.

alias    and      BEGIN      begin    break    case
class    def      defined?   do       else     elsif
END      end      ensure     false    for      if
in       module   next       nil      not      or
redo     rescue   retry      return   self     super
then     true     undef      unless   until    when
while    yield

Link tham khảo: http://zetcode.com/lang/rubytutorial/lexis/


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í