我正在创建一个解密秘密消息'i want a coke!'
的程序。以下是我的代码示例:
class Decoder
def initialize(coded_message)
@input = coded_message.downcase.split('')
@symbols = %w(@ # $ % ^ & *)
@alph = ('a'..'z').to_a.join
end
def decoded_symbol
@input.map! do |symbols|
if @symbols.include?(symbols)
symbols = " "
else
symbols = symbols
end
end
end
def decoded_cipher
@input.map! do |char|
if @alph.include?(char)
char = @alph[@alph.index(char) - 4]
end
char = char
end
end
def run
decoded_cipher
decoded_symbol
end
end
Decoder.new("m^aerx%e&gsoi!").run
然而,这是终端返回的内容:
=> ["i", " ", "w", "a", "n", "t", " ", "a", " ", "c", "o", "k", "e", "!"]
我试图将其作为单句返回。我一直在使用run
方法来查看是否可以更改@input
输出,但无法获得任何效果。任何建议将不胜感激。
答案 0 :(得分:3)
方法1/x
没有明确的decoded_symbol
语句,因此数组return
用作返回值。
在方法的末尾添加一行,以便返回连接的字符串:
@input