我試圖創建一個將包含在許多不同類中的模塊。它需要將調用者的路徑記錄到類文件 ,以便我可以在後面的代碼中引用該路徑。此代碼嘗試向調用類中添加方法,但因爲它僅返回@@ x的當前值而失敗。在許多不同類型的Ruby在運行時將變量轉換爲常量
# /home/eric/FindMe.rb
class FindMe
include GladeGUI
end
# /home/eric/GladeGUI.rb
module GladeGUI
def self.included(obj)
@@x, = caller[0].partition(":") # this works @@x = "/home/eric/FindMe.rb"
obj.class_eval do
def my_class_file_path
return ????? # I want to return "/home/eric/FindMe.rb"
end
end
end
end
的GladeGUI模塊將被「納入」,所以我不能只是添加代碼,調用的類。我需要一種方法來使@@ X編譯成一個恆定值,所以存儲在類中的方法是這樣的:
def my_class_file_path
return "/home/eric/FindMe.rb"
end
如何將變量轉換爲固定代碼?
謝謝。
謝謝!!!現在看起來很容易。 :) – user1182000