Tôi muốn sử dụng IronRuby làm ngôn ngữ kịch bản (ví dụ: Lua) trong dự án .NET của tôi. Ví dụ, tôi muốn có thể đăng ký từ một kịch bản Ruby cho các sự kiện cụ thể, được kích hoạt trong ứng dụng máy chủ và gọi các phương thức Ruby từ nó.IronRuby như một ngôn ngữ kịch bản trong .NET
Tôi đang sử dụng mã này cho instantiating động cơ IronRuby:
Dim engine = Ruby.CreateEngine()
Dim source = engine.CreateScriptSourceFromFile("index.rb").Compile()
' Execute it
source.Execute()
Giả index.rb chứa:
subscribe("ButtonClick", handler)
def handler
puts "Hello there"
end
Làm thế nào để:
- Make C# phương pháp Theo dõi (được xác định trong ứng dụng máy chủ) có thể nhìn thấy từ index.rb?
- Gọi sau xử lý phương thức từ ứng dụng máy chủ?
Cảm ơn bạn rất nhiều. Nhưng vẫn còn 1 câu hỏi. Làm thế nào để làm cho lớp Demo có sẵn (không phải là trường hợp của nó) trong mã ruby theo cách như vậy mà chúng ta có thể tạo ra nó? Ví dụ: d = Demo.new – rubyist111
Đã thêm câu trả lời vào phần nội dung của câu trả lời gốc ở trên. –
Với IronRuby mới nhất (1.13, tôi tin), bạn sẽ nhận được một bộ sưu tập có kích thước cố định cho 'searchPaths', điều này sẽ đưa ra một ngoại lệ nếu bạn cố gắng thêm vào nó. Bạn cần tạo bộ sưu tập của riêng mình và sao chép các giá trị. – ashes999