我对以下为什么不起作用感到困惑。
def array_mod(source_array, letter_to_delete)
source_array.delete_if {|x|
String===x && x.include?letter_to_delete }
end
基本上我有一个接受数组的函数,出于测试目的,它将同时具有字符串和数字。第二个参数是一个字母。该函数应迭代数组,跳过Fixnum值,delete_if元素是a)字符串,b)包含有问题的字母。我已经创建了这个功能,但我正在尝试重构它以使其更专业。谢谢你们帮助我变得更好!
def array_mod(source_array, letter_to_delete)
return source_array.delete_if do |x|
if x.is_a?(Fixnum) ==true
next
else
x.include?letter_to_delete
end
end
end
答案 0 :(得分:0)
您缺少括号:
def array_mod(source_array, letter_to_delete)
source_array.delete_if {|x| x.is_a?(String) && x.include?(letter_to_delete) }
end