2017-07-15 45 views
0

我有一些代碼,我想通過使用each方法來減小它的大小,但我不知道如何使用它。這是我目前的代碼。如何使用`each`在多個字符串中添加方法

e = "1000101" 
k = "1101011" 
a = "1100001" 
n = "1101110" 
s = "1110011" 
h = "1101000" 
print e.to_i(2).chr 
print k.to_i(2).chr 
print a.to_i(2).chr 
print n.to_i(2).chr 
print s.to_i(2).chr 
print h.to_i(2).chr 
+0

這個問題不是特別清楚。你能否詳細闡述一下? – finnrayment

+0

執行此操作的一種方法可能是將這六個變量存儲在一個字符串數組中,而不是六個不同的字符串變量中,然後遍歷該數組並對其每個條目執行to_i(2).chr。 – bouteillebleu

回答

2

任何這樣的事情?

[e, k, a, n, s, h].each { |s| print s.to_i(2).chr } 
=> Ekansh 
1

旁邊each,可以通過reduce建立一個新的字符串:

[e, k, a, n, s, h].reduce('') { |memo, binary| memo << binary.to_i(2) } 
#=> "Ekansh" 

塊附加的binary.to_i(2)結果到memo串最初是''(空字符串)。

請注意,在這種情況下我們不需要撥打chr,因爲String#<<將整數輸入解釋爲碼點。

相關問題