2014-11-14 54 views
1

我有一個進程像這樣如何通過一個方法作爲一個字符串,並調用它

Boxer = Proc.new { | box, goal | puts " [#{ box }] #{ goal }" } 

,我把它像這樣

Boxer[ 'X', goal ] 

我想incorperate ANSI轉義碼改變顏色 我希望能夠在一個字符串傳遞,並將它打印出彩 所以我的新義和團是這樣

Boxer = Proc.new { |box, goal, color | puts " [#{ box }] #{ goal }".color } 

,我想叫它像這樣

Boxer[ 'X', goal, 'red' ] 

我現在用的是彩色化的寶石,但仍不能得到PROC要像我想 我試圖評估和其他幾件事情。

+0

想什麼代碼運行? '[ 'X'] goal.red'? '目標[ 'X'。red'?它不是很清楚 – 2014-11-14 18:54:00

+0

我假設你的意思是「拳擊手」是一個常數。如果你想要一個變量,讓它以小寫字母開頭。 – 2014-11-14 19:01:18

+0

拳手需要不斷。你們錯過了我想要做的事情。 – Schylar 2014-11-14 19:09:01

回答

6

如果我理解正確的話,嘗試

Boxer = Proc.new { |box, goal, color | puts " [#{ box }] #{ goal }".send(color) } 
+0

嘿,那完美的工作!非常感謝! – Schylar 2014-11-14 18:59:08

+0

你必須等7分鐘才能讓你大聲笑 – Schylar 2014-11-14 19:05:05

+0

好的答案,+1,但是Schylar,沒有必要快速選擇答案。通過等待至少幾個小時,如果已經做出選擇,您可能會得到其他有趣的答案,這些答案將不會提供。在我看來,要求在如此短的時間內選擇答案是不專業的。 – 2014-11-14 19:05:54

相關問題