2015-10-16 225 views
-1

IM裏面playername試圖訪問什麼在他/她的用戶名的用戶類型是我的模塊之外的功能,所以它可以在我的模塊的內部使用從oustide模塊訪問的模塊

module RetryMessages 
    def RetryMessages.message1() 
     puts "That was an incorrect Choice #{@your_name}... Try again man." 
    end 
    MESSAGE2 = "Man you messed up #{@your_name} Try again." 
    MESSAGE3 = "Hey man you screwed up..... Try again #{@your_name}." 
end 


def player_name 
    puts "Hey man whats your name?" 
    @your_name = $stdin.gets.chomp.upcase 
    play_game 
end 
+0

你的問題是什麼? – sawa

+0

爲什麼我的模塊中沒有玩家名稱通過我的代碼的其餘部分檢測用戶輸入的內容它知道玩家名稱,但由於某種原因不在模塊內部......如果需要,我可以發佈剩餘的代碼 –

回答

0

這是一個錯誤的設計。讓您的信息模板:

MESSAGES = [ 
    "That was an incorrect Choice %<your_name>s... Try again man.", 
    "Man you messed up %<your_name>s Try again.", 
    "Hey man you screwed up..... Try again %<your_name>s." 
] 

再後來

puts MESSAGES[0] % { your_name: "Joseph" } 

這樣,您使用的名稱,其中實際可訪問它的地方。

+0

甜,這似乎工作至少就IRB感謝這可能只是幫助....感謝的人,如果有人想幫助ñ嘗試我的遊戲ñ看到任何錯誤,我打我 –

+0

等待然後用戶如何名稱輸入到它? –

+0

使用'%'運算符和替換數組。每個'% s'被替換爲相應的值。 – Amadan