if语句中的异常

Sey*_*ams -1 ruby each for-loop if-statement

我在ruby中为一个迭代人员列表(名为@personList)的类编写了一个搜索器函数.它面临一个例外.

我的代码:

def search (nCode)
    for x in @personList
        if x.nCode == nCode 
            x.to_s
    end
end
Run Code Online (Sandbox Code Playgroud)

我使用每个编写相同的代码,它也面临同样的异常.我的代码出了什么问题?(我是Ruby的新手!我无法解决这个问题)

Joh*_*rak 6

if是由一对换行符分隔的:

x.to_s if x.nCode == nCode 
Run Code Online (Sandbox Code Playgroud)

if需要明确end:

if x.nCode == nCode 
    x.to_s
end
Run Code Online (Sandbox Code Playgroud)

你已经打开了三个区块(def,for..in,if你的第一个样品中),但只关闭了两家.您的缩进表示if您未关闭的缩进.因此,您有语法错误.否则,两个样本的功能相同.