2012-10-16 29 views
6

Possible Duplicate:
How to run ruby files?Làm thế nào để chạy các chương trình Ruby trong MAC OS ga

Tôi bắt đầu học Ruby và có một thời gian khó khăn chạy các lớp Ruby trong Terminal.

Tôi đã tạo một lớp trong trình chỉnh sửa Văn bản tuyệt vời, chỉ cần "hello world". Tôi có thể biên dịch bằng cách sử dụng ruby hello.rb, nhưng làm cách nào để thực hiện?

Tôi đã đi đến các thiết bị đầu cuối trong thư mục gốc của tôi và gõ rails c mà đã cho tôi một giao diện điều khiển. Có thể một số xin vui lòng cho tôi biết làm thế nào để tạo một thể hiện? Tôi sử dụng giao diện điều khiển nào?

+0

Nhập 'man irb'. –

+0

Google là bạn của bạn. Kết quả đầu tiên cho "bảng điều khiển đường ray" là http://guides.rubyonrails.org/command_line.html. – Thilo

Trả lời

9

Ruby được diễn giải, vì vậy bạn không cần phải lo lắng về một bước biên dịch riêng biệt. ruby hello.rb lệnh thực hiện.

Vỏ tương tác chuẩn (REPL) là irb.

+0

Có sau khi tôi gõ ruby ​​hello.rb nó đã cho tôi không có gì để không có lỗi. Sau đó tôi đã cố gắng nhận được lỗi dưới đây trong irb 1.9.3-p194: 003> h = Hello.new() NameError: undefined local variable or method ' hello 'cho chính: Object – Ducati007

+0

Khó nói mà không nhìn thấy mã của bạn. – pje

+0

lớp Xin chào def say đặt "hello World" kết thúc kết thúc – Ducati007

0

Khi những người khác đã chỉ ra, hãy chạy ruby hello.rblàm chạy tập lệnh; không có biên dịch liên quan (ngoại trừ đằng sau hậu trường trong máy ảo Ruby, nhưng bạn không cần phải quan tâm đến chính mình với điều đó).

Dựa trên mã của tập tin mà bạn đã đưa ra trong một chú thích (tôi đã đưa vào ngắt dòng và thụt đầu dòng):

class Hello 
    def say 
    puts "hello World" 
    end 
end 

... lý do kịch bản của bạn dường như không làm gì cả là nó chỉ định nghĩa một lớp và một phương thức nhưng không khởi tạo lớp hoặc gọi phương thức. Bạn có ý tưởng đúng (trong một bình luận khác) để gọi h = Hello.new(); sau đó bạn có thể đặt h.say và nó sẽ nói "hello World".

(Dấu ngoặc đơn thường không cần thiết, kể cả trong hai cuộc gọi phương pháp;.. Nhưng đôi khi họ quan trọng là có công ước khác nhau, nhưng hầu hết Rubyists bỏ qua chúng khi gọi phương pháp mà không cần bất kỳ đối số, như newsay đây)

EDIT: rails c là dành cho Ruby on Rails, là một thực thể riêng biệt với ngôn ngữ Ruby (mặc dù nó được viết bằng Ruby).

1

Tôi nghĩ, đây là nhiệm vụ rất đơn giản. Dán trong thiết bị đầu cuối ruby <your script name>.rb

Đây là tất cả. Ruby được dịch là lang. Trình biên dịch không tồn tại chút nào. Chỉ thông dịch viên. Tôi chỉ sử dụng Ruby vài lần, nhưng tôi nghĩ, bạn phải chạy phương thức của bạn xin chào. Mã của bạn chỉ tạo lớp và không có gì khác. Trước tiên, bạn nên tìm hiểu Ruby và sau đó là RoR.

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