作为练习,我想创建一个函数,返回字符串中字符的第一个索引.该函数有两个参数,字符串和字符来获取索引.我遍历字符串以匹配提供的字符.我正在打印每次迭代的评估以进行测试,但即使它们应该相等,它也会返回false.
def index_of?(obj, el)
unless obj.size == 0
num = 0
while num < obj.size
puts "#{obj[num]} == #{el} : #{obj[num] == el}"
num += 1
end
end
end
str = "hello"
index_of?(str, "h")
Run Code Online (Sandbox Code Playgroud)
这打印:
h == h : false
e == h : false
l == h : false
l == h : false
o == h : false
Run Code Online (Sandbox Code Playgroud)
因为obj[num]返回Char,而不是String.
做index_of?(str, 'h')会打印:
h == h : true
e == h : false
l == h : false
l == h : false
o == h : false
Run Code Online (Sandbox Code Playgroud)