2012-04-28 63 views
7

Tôi cần một số thông tin chi tiết về xây dựng chương trình Ruby. Tôi đang cố gắng tìm hiểu cách viết Ruby (độc lập với Rails) vì vậy tôi đang dịch một số kịch bản Perl mà tôi đã viết trong một dự án tin sinh học vào mã Ruby. Về cơ bản tạo các lớp học hữu ích và không có gì.Cấu trúc của Chương trình Ruby

Vấn đề của tôi là làm cách nào để thực hiện? Các kịch bản Perl chỉ là các khối lệnh dài, sau lệnh kia. Có gì thích hợp trong Ruby? Tôi có nên định nghĩa các lớp của mình trong các tệp .rb của riêng chúng và gọi chúng và các phương thức của chúng trong một tệp rb sepearate có sử dụng chúng để thực thi chương trình của tôi không?

Điều gì thường được thực hiện? Bất kỳ ví dụ nào cũng sẽ được đánh giá rất cao. Tôi cũng đánh giá cao bất kỳ lời khuyên nói chung về làm thế nào để đi về việc học loại điều này.

+0

"Tôi có nên định nghĩa các lớp của mình trong các tệp .rb của riêng chúng và gọi các phương thức đó và phương thức của chúng trong tệp rb riêng biệt có sử dụng chúng để thực thi chương trình của tôi không?" Điều này là khá nhiều đó. Bạn sẽ có một kịch bản mà bạn thực hiện để bắt đầu chương trình và kịch bản lệnh đó sẽ yêu cầu các tệp cần được yêu cầu và đi từ đó. – x1a4

Trả lời

6

Ruby không có những gì thường được gọi là môi trường thực thi cấp cao nhất và do đó một chuỗi lệnh dài sẽ thực thi ngay lập tức giống như Perl. Hoặc, bạn có thể định nghĩa các lớp và mô-đun và đi tất cả OOP về vấn đề của bạn nếu bạn muốn, hoặc bạn có thể kết hợp các phương pháp tiếp cận.

Bạn sẽ cần ít nhất một dòng ở cấp cao nhất hoặc cấp cao nhất của lớp để bắt đầu mọi thứ. Vì vậy:

p :hello 

hoặc

class A 
    p :hello 
end 

hoặc

class A 
    def run 
    p :hello 
    end 
end 
A.new.run 

hay, yêu thích của tôi:

class A 
    def run 
    p :hello 
    end 
    self 
end.new.run 
3

tôi muốn khuyên bạn nên xem xét một số đá quý yêu thích khác của bạn để xem mã của họ được cấu trúc như thế nào (như trên Github). Đó là cách tôi tìm thấy sự khởi đầu của mình. Suy nghĩ về dự án của bạn như một "viên ngọc", được phát hành hay không, là một cách hay để bao bọc tâm trí của bạn xung quanh vấn đề.

Các vấn đề liên quan