0
0
Lập trình
Thaycacac
Thaycacac thaycacac

So sánh chi tiết giữa Ruby và Python thông qua các ví dụ minh họa

Đăng vào 2 ngày trước

• 3 phút đọc

Chủ đề:

PythonRuby

Python và Ruby là hai ngôn ngữ lập trình phổ biến, mỗi ngôn ngữ có những điểm mạnh và cách tiếp cận khác nhau để giải quyết vấn đề lập trình. Trong bài viết này, chúng tôi sẽ so sánh Ruby và Python qua một loạt các ví dụ cụ thể, giúp bạn hiểu rõ hơn về cú pháp, quy tắc và cách hoạt động của từng ngôn ngữ.


1. Cách Khai Báo Biến

Ruby:

ruby Copy
name = "Ruby"  
age = 25

Python:

python Copy
name = "Python"  
age = 25

Như bạn thấy, Python không yêu cầu từ khóa cụ thể nào để khai báo biến; chỉ cần gán giá trị là đủ.


2. Khai Báo Hàm

Ruby:

ruby Copy
def greet(name)
  "Hello, #{name}!"
end

puts greet("Ruby")

Python:

python Copy
def greet(name):
    return f"Hello, {name}!"

print(greet("Python"))

Python sử dụng từ khóa def với dấu thụt lề để xác định khối lệnh mà không cần từ khóa end.


3. Câu Điều Kiện

Ruby:

ruby Copy
if age > 18
  puts "Adult"
else
  puts "Minor"
end

Python:

python Copy
if age > 18:
    print("Adult")
else:
    print("Minor")

Cú pháp điều kiện của Python yêu cầu sử dụng dấu : để bắt đầu khối và thụt lề để xác định lệnh.


4. Vòng Lặp

Ruby:

ruby Copy
(1..5).each do |i|
  puts i
end

Python:

python Copy
for i in range(1, 6):
    print(i)

Python sử dụng hàm range() để tạo dãy số mà không cần khối do ... end.


5. Mảng và Hash

Ruby:

ruby Copy
arr = [1, 2, 3]
hash = {name: "Ruby", age: 25}

Python:

python Copy
arr = [1, 2, 3]
hash = {"name": "Python", "age": 25}

Trong Python, Hash được gọi là dict, sử dụng dấu ngoặc {} và dấu : để thiết lập giá trị cho key.


6. Block

Ruby:

ruby Copy
[1, 2, 3].map { |x| x * 2 }

Python:

python Copy
list(map(lambda x: x * 2, [1, 2, 3]))

Python không hỗ trợ block như Ruby, thay vào đó, bạn có thể sử dụng hàm lambda hoặc định nghĩa hàm.


7. Khai Báo Lớp

Ruby:

ruby Copy
class Person
  attr_accessor :name

  def initialize(name)
    @name = name
  end
end

person = Person.new("Ruby")
puts person.name

Python:

python Copy
class Person:
    def __init__(self, name):
        self.name = name

person = Person("Python")
print(person.name)

Lớp trong Python được khai báo với từ khóa class, và hàm khởi tạo được định nghĩa bằng __init__.


8. Xử lý Ngoại Lệ

Ruby:

ruby Copy
begin
  result = 10 / 0
rescue ZeroDivisionError => e
  puts "Error: #{e.message}"
end

Python:

python Copy
try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"Error: {e}")

Python sử dụng cú pháp try-except mà không cần từ khóa begin hay end.


9. Kiểm Tra Giá Trị nil hoặc None

Ruby:

ruby Copy
value = nil
puts "Value is nil" if value.nil?

Python:

python Copy
value = None
if value is None:
    print("Value is None")

Ruby sử dụng nil và phương thức .nil?, trong khi Python dùng None và chỉ cần so sánh với is.


10. Toán Tử 3 Ngôi

Ruby:

ruby Copy
result = age > 18 ? "Adult" : "Minor"

Python:

python Copy
result = "Adult" if age > 18 else "Minor"

Python có toán tử 3 ngôi nhưng cú pháp lại khác một chút so với Ruby.


Kết Luận

Việc lựa chọn giữa Ruby và Python phụ thuộc vào dự án cụ thể và sở thích cá nhân của từng lập trình viên. Hy vọng qua bài viết này, bạn đã có cái nhìn tổng quan và rõ ràng hơn về sự khác biệt giữa hai ngôn ngữ lập trình này.


Bên cạnh những điểm so sánh trên, còn rất nhiều khía cạnh khác để khám phá khi làm việc với Ruby và Python. Nếu bạn có câu hỏi hoặc muốn tìm hiểu thêm về một chủ đề cụ thể nào đó trong hai ngôn ngữ này, hãy để lại ý kiến cho chúng tôi biết.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào