×

Đọc đầu vào từ bàn phím với phương thức gets trong Ruby

Ruby là một ngôn ngữ lập trình thân thiện và dễ sử dụng cho cả người mới bắt đầu và các lập trình viên đã có kinh nghiệm. Một trong những thao tác cơ bản trong lập trình là đọc đầu vào từ bàn phím, và Ruby cung cấp một phương thức rất tiện lợi để thực hiện điều này: gets.

Trước khi đi sâu vào cách sử dụng gets, cần hiểu khái niệm về đầu vào và đầu ra trong lập trình. Đầu vào là những thông tin mà chương trình nhận từ bên ngoài để xử lý. Đầu ra là kết quả mà chương trình trả về sau khi xử lý đầu vào. Trong trường hợp này, đầu vào được nhập từ bàn phím và chương trình sẽ đọc thông tin đó để thực hiện các thao tác tiếp theo.

Sử dụng phương thức gets

gets là viết tắt của "get string" trong Ruby, và có nhiệm vụ đọc một dòng dữ liệu từ đầu vào tiêu chuẩn (thường là bàn phím) cho đến khi gặp ký tự newline (dấu xuống dòng).

Dưới đây là cú pháp cơ bản của gets:

input = gets

Khi dòng mã này được chạy, chương trình sẽ dừng lại và chờ người dùng nhập một giá trị từ bàn phím. Sau khi người dùng nhập thông tin và nhấn Enter, giá trị sẽ được gán cho biến input.

Ví dụ:

puts "Please enter your name:"
name = gets
puts "Hello, #{name}"

Chương trình này sẽ yêu cầu người dùng nhập tên. Sau khi tên được nhập và nhấn Enter, thông báo chào mừng sẽ được hiển thị kèm theo tên người dùng.

Loại bỏ ký tự newline

Ký tự newline \n thường được đính kèm vào cuối chuỗi nhập vào khi sử dụng gets. Để loại bỏ ký tự này, bạn có thể sử dụng phương thức chomp.

Ví dụ:

puts "Please enter your name:"
name = gets.chomp
puts "Hello, #{name}!"

Ở đây, phương thức chomp sẽ loại bỏ ký tự newline ở cuối chuỗi giúp thông báo chào mừng hiển thị đúng định dạng mong muốn.

Đọc các loại dữ liệu khác nhau

Mặc dù gets chủ yếu được sử dụng để đọc chuỗi, nhưng bạn cũng có thể sử dụng nó để đọc các loại dữ liệu khác như số nguyên hay số thực bằng cách chuyển đổi chuỗi đầu vào.

Ví dụ đọc số nguyên:

puts "Please enter your age:"
age = gets.chomp.to_i
puts "You are #{age} years old."

Ví dụ đọc số thực:

puts "Please enter your height in meters:"
height = gets.chomp.to_f
puts "Your height is #{height} meters."

Ở đây, các phương thức to_i (chuyển đổi thành số nguyên) và to_f (chuyển đổi thành số thực) được sử dụng để chuyển đổi chuỗi đầu vào thành các kiểu dữ liệu số tương ứng.

Sử dụng gets trong vòng lặp

Trong nhiều trường hợp, bạn có thể cần đọc nhiều giá trị từ người dùng trong một vòng lặp. Ví dụ:

3.times do
  puts "Please enter a number:"
  number = gets.chomp.to_i
  puts "You entered: #{number}"
end

Vòng lặp này sẽ yêu cầu người dùng nhập số ba lần và hiển thị lại số vừa nhập.

Kết luận

Sử dụng phương thức gets để đọc dữ liệu từ bàn phím trong Ruby là một thao tác đơn giản nhưng rất hiệu quả. Nó cho phép chương trình tương tác với người dùng và thu thập thông tin cần thiết để tiếp tục xử lý. Với sự kết hợp của các phương thức khác như chomp, to_i, và to_f, bạn có thể dễ dàng đọc và xử lý nhiều loại dữ liệu khác nhau một cách chính xác.

Comments