Cách viết chương trình Ruby đầu tiên của bạn
Giới thiệu
Câu "Xin chào, Thế giới!" chương trình là một truyền thống cổ điển và lâu đời trong lập trình máy tính. Đây là một chương trình đầu tiên đơn giản và hoàn chỉnh dành cho người mới bắt đầu và đó là một cách tốt đảm bảo rằng môi trường của bạn được cấu hình đúng cách.
Hướng dẫn này sẽ hướng dẫn bạn cách tạo chương trình này trong Ruby. Tuy nhiên, để làm cho chương trình thú vị hơn, ta sẽ sửa đổi chương trình “Hello, World” truyền thống để nó hỏi user tên của họ. Sau đó, ta sẽ sử dụng tên trong lời chào. Khi bạn hoàn thành hướng dẫn, bạn sẽ có một chương trình giống như thế này khi bạn chạy nó:
OutputPlease enter your name.
Sammy
Hello, Sammy! I'm Ruby!
Yêu cầu
Bạn nên cài đặt môi trường phát triển Ruby cục bộ trên máy tính của bạn . Cài đặt một trong những hướng dẫn sau:
- Cách cài đặt Ruby và cài đặt môi trường lập trình local trên macOS
- Cách cài đặt Ruby và cài đặt môi trường lập trình local trên Ubuntu 16.04
- Cách cài đặt Ruby và cài đặt môi trường lập trình local trên Windows 10
Bước 1 - Viết câu “Hello, World!” Cơ bản Chương trình
Để viết "Xin chào, Thế giới!" , hãy mở một editor dòng lệnh như nano
và tạo một file mới:
- nano hello.rb
Khi file văn bản mở ra trong cửa sổ dòng lệnh, ta sẽ gõ chương trình của bạn :
puts "Hello, World!"
Hãy chia nhỏ các thành phần khác nhau của mã.
puts
là một phương thức Ruby yêu cầu máy tính in một số văn bản ra màn hình.
Sau đó, phương thức puts
được theo sau bởi một chuỗi các ký tự - Hello, World!
, đặt trong dấu ngoặc kép. Bất kỳ ký tự nào nằm trong dấu ngoặc kép được gọi là mộtchuỗi . Phương thức puts
sẽ in chuỗi này ra màn hình khi chương trình chạy.
Một số phương thức, như phương thức puts
, có trong Ruby theo mặc định. Các phương thức dựng sẵn này luôn có sẵn khi bạn tạo các chương trình Ruby. Bạn cũng có thể xác định các phương pháp của riêng mình.
Lưu và thoát nano
bằng lệnh phím CONTROL
và X
, và khi được yêu cầu lưu file , hãy nhấn y
.
Hãy thử chương trình của ta .
Bước 2 - Chạy chương trình Ruby
Với "Xin chào, Thế giới!" chương trình đã viết, ta đã sẵn sàng để chạy chương trình. Ta sẽ sử dụng lệnh ruby
, theo sau là tên của file ta vừa tạo.
- ruby hello.rb
Chương trình sẽ thực thi và hiển thị kết quả này:
OutputHello, World!
Hãy khám phá điều gì đã thực sự xảy ra.
Chạy lệnh ruby
đã chạy trình thông dịch Ruby. Trình thông dịch Ruby đọc file bạn đã chỉ định và đánh giá nội dung của nó. Nó thực hiện dòng puts "Hello, World!"
bằng cách gọi hàm puts
. Giá trị chuỗi của Hello, World!
đã được chuyển đến hàm.
Trong ví dụ này, chuỗi Hello, World!
cũng được gọi là một đối số vì nó là một giá trị được truyền cho một phương thức.
Các trích dẫn ở hai bên của Hello, World!
không được in ra màn hình vì chúng được sử dụng để nói với Ruby rằng chúng chứa một chuỗi. Dấu ngoặc kép phân định vị trí chuỗi bắt đầu và kết thúc.
Chương trình hoạt động, nhưng ta có thể làm cho nó tương tác hơn. Hãy cùng khám phá cách thức.
Bước 3 - Nhắc đầu vào
Mỗi khi ta chạy chương trình của bạn , nó sẽ tạo ra cùng một kết quả. Hãy nhắc người đang chạy chương trình của ta tên của họ. Sau đó ta có thể sử dụng tên đó trong kết quả .
Thay vì sửa đổi chương trình hiện có của bạn, hãy tạo một chương trình mới có tên là greeting.rb
trong trình soạn thảo nano
:
- nano greeting.rb
Đầu tiên, thêm dòng này, dòng này sẽ nhắc user nhập tên của họ:
puts "Please enter your name."
, ta sử dụng phương thức puts
để in một số văn bản ra màn hình.
Bây giờ hãy thêm dòng này để nắm bắt thông tin đầu vào của user :
puts "Please enter your name."
name = gets
Dòng tiếp theo này có liên quan nhiều hơn một chút. Hãy phá vỡ nó.
Các gets
phương pháp cho máy tính để chờ đầu vào từ bàn phím. Điều này sẽ tạm dừng chương trình, cho phép user nhập bất kỳ văn bản nào họ muốn. Chương trình sẽ tiếp tục khi user nhấn ENTER
trên bàn phím của họ. Tất cả các tổ hợp phím, bao gồm tổ hợp phím ENTER
, sau đó được ghi lại và chuyển đổi thành một chuỗi ký tự.
Ta muốn sử dụng các ký tự đó trong kết quả của chương trình, vì vậy ta lưu các ký tự đó bằng cách gán chuỗi cho một biến được gọi là name
. Ruby lưu chuỗi đó trong bộ nhớ máy tính của bạn cho đến khi chương trình kết thúc.
Cuối cùng, thêm dòng này để in kết quả :
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"
Ta sử dụng lại phương thức puts
, nhưng lần này ta sử dụng một tính năng Ruby được gọi là nội suy chuỗi , cho phép ta lấy giá trị được gán cho một biến và đặt nó vào bên trong một chuỗi. Thay vì name
từ, ta sẽ nhận được giá trị mà ta đã lưu trong biến name
, giá trị này phải là tên của user .
Lưu và thoát nano
bằng cách nhấn CTRL+X
và nhấn y
khi được yêu cầu lưu file .
Bây giờ chạy chương trình. Bạn sẽ được yêu cầu nhập tên của bạn , vì vậy hãy nhập tên đó và nhấn ENTER
. Đầu ra có thể không chính xác như những gì bạn mong đợi:
OutputPlease enter your name.
Sammy
Hi, Sammy
! I'm Ruby!
Thay vì Hi, Sammy! I'm Ruby!
, có một dấu ngắt dòng ngay sau tên.
Chương trình đã ghi lại tất cả các lần nhấn phím của ta , bao gồm cả ENTER
mà ta đã nhấn để yêu cầu chương trình tiếp tục. Trong một chuỗi, nhấn phím ENTER
sẽ tạo một ký tự đặc biệt để tạo một dòng mới. Đầu ra của chương trình đang thực hiện chính xác những gì ta đã yêu cầu; nó hiển thị văn bản ta đã nhập, bao gồm cả dòng mới đó. Nó không phải là những gì ta muốn. Nhưng ta có thể sửa chữa nó.
Mở file greeting.rb
trong editor :
- nano greeting.rb
Tìm dòng này trong chương trình của bạn:
name = gets
Và sửa đổi nó để nó trông như thế này:
name = gets.chop
Điều này sử dụng phương thức chop
của Ruby trên chuỗi mà ta đã chụp bằng gets
. Phương thức chop
loại bỏ ký tự cuối cùng khỏi một chuỗi. Trong trường hợp này, nó xóa ký tự dòng mới ở cuối chuỗi được tạo khi ta nhấn ENTER
.
Lưu và thoát nano
. Nhấn CTRL+X
, sau đó nhấn y
khi được yêu cầu lưu file .
Chạy lại chương trình:
- ruby greeting.rb
Lần này, sau khi bạn nhập tên của bạn và nhấn ENTER
, bạn sẽ nhận được kết quả mong đợi:
OutputPlease enter your name.
Sammy
Hi, Sammy! I'm Ruby!
Đến đây bạn có một chương trình Ruby lấy đầu vào từ user và in nó trở lại màn hình.
Kết luận
Đến đây bạn đã biết cách nhắc nhập, xử lý kết quả và hiển thị kết quả , hãy thử mở rộng chương trình của bạn hơn nữa. Ví dụ: hỏi màu yêu thích của user và yêu cầu chương trình nói rằng màu yêu thích của nó là màu đỏ. Bạn thậm chí có thể thử sử dụng kỹ thuật tương tự này để tạo một chương trình Mad-Lib đơn giản.
Các tin liên quan