Giả sử tôi có một hàm gọi là bla
được định nghĩa ở đâu đó trong ứng dụng đường ray của tôi.Có cách nào để xem (hoặc in) một định nghĩa phương pháp có lập trình trong đường ray không?
Có cách nào trong ruby hoặc đường ray qua đó tôi có thể in mã được sử dụng động/lập trình để xác định hàm đó không? Vì vậy, ví dụ:
def bla
puts "Hi There"
end
và sau đó nếu tôi gọi một chức năng như thế nào, ví dụ, get_definition
:
puts get_definition(:bla)
này sẽ in ra
"puts \"Hi There\""
Có cách nào kinh điển làm điều này ? Tôi đã không thực sự cần phải làm điều này trước đây, và tôi biết đây không phải là thực tế phổ biến trong đường ray.
Tôi cũng không muốn xác định phương pháp của mình bằng cách sử dụng lập trình meta (phản chiếu) và sau đó lưu trữ chuỗi được sử dụng để xác định phương thức của tôi. Bất kỳ trợ giúp được đánh giá cao!
http://stackoverflow.com/a/11544229/1004274 – oldergod
Bản sao của http://stackoverflow.com/questions/3220623/meta-programming-output-method-body-as-text –
Điểm tốt, có vẻ như một bản sao của cả hai câu hỏi (lạ, vì những câu hỏi này trùng lặp nhau) ... không ai trong số đó thực sự trả lời câu hỏi của tôi và không ai trong số họ có thể tìm thấy trên google khi tìm kiếm 'lập trình' hoặc tôi đã tìm thấy cả hai. Nhưng một bản sao trùng lặp là –