Ruby错误代码

Ruby错误代码,ruby,Ruby,尝试在bash中运行时出现以下错误: 39: syntax error, unexpected end-of-input, expecting keyword_end 我已经试着摆弄它好几个小时了,但我对学习Ruby还是相当陌生,完全搞不懂。以下是我的工作内容: def encode(password) i = 0 length = password.length while i < length do if let

尝试在bash中运行时出现以下错误:

39: syntax error, unexpected end-of-input, expecting keyword_end
我已经试着摆弄它好几个小时了,但我对学习Ruby还是相当陌生,完全搞不懂。以下是我的工作内容:

def encode(password)
        i = 0
        length = password.length
        while i < length do
            if letter[i] == "z"
                letter[i]== "a"
            else
                letter[i] = letter[i].next
        end
    i += 1
return password

end

def decode(encoded_password)
            alphabet = "abcdefghijklmnopqrstuvwxyz"
            i = 0
            length = encoded_password.length
            while i < length do
                if letter == "a"
                    letter == "z"
                else
                    encoded_password[i] = alphabet[alphabet.index(letter) - 1]
            end
            i += 1
        end
    return encoded_password
end

puts "What is the password?"
password = gets.chomp

puts "Would you like to decode or encode?"
selection = gets.chomp

if selection == "encode"
    puts encode(password)
elsif selection == "decode"
    puts decode(password)
end
def编码(密码)
i=0
长度=密码。长度
而我呢
如果字母[i]=“z”
字母[i]=“a”
其他的
字母[i]=字母[i]。下一个
结束
i+=1
返回密码
结束
def解码(编码密码)
alphabet=“abcdefghijklmnopqrstuvxyz”
i=0
长度=编码的密码长度
而我呢
如果字母==“a”
字母==“z”
其他的
编码密码[i]=字母表[字母表索引(字母)-1]
结束
i+=1
结束
返回编码的密码
结束
输入“密码是什么?”
password=gets.chomp
放入“您想解码还是编码?”
selection=gets.chomp
如果选择==“编码”
输入编码(密码)
elsif选择==“解码”
输入解码(密码)
结束

提前谢谢

您在
encode
方法中缺少一个
end
来关闭

def encode(password)
    i = 0
    length = password.length
    while i < length do
        if letter[i] == "z"
            letter[i]== "a"
        else
            letter[i] = letter[i].next
        end
        i += 1
    end # You missed this
    return password
 end
def编码(密码)
i=0
长度=密码。长度
而我呢
如果字母[i]=“z”
字母[i]=“a”
其他的
字母[i]=字母[i]。下一个
结束
i+=1
结束,你错过了这个
返回密码
结束

这将解决
语法错误、输入意外结束、需要关键字\u end
错误,但代码还有其他问题。在
encode
decode
方法中,
letter
指的是什么?

encode
中添加
end
,但是你想做什么呢?当你遇到这样的错误时,用
ruby-w
运行你的程序很有用-它会告诉你丢失的“end”在哪里。