我有一个函数search_subjects
,其结果存储在数组subjects
中。我还有一个设置间隔repeat_every(secs)
的功能。我尝试使用subjects
间隔遍历存储在repeat every
数组中的变量,以便使用定时变量搜索数组。
subjects = []
def search_subject
subjects.each do |e|
{e < e.length}
repeat_every(10)
client.search_through_subject(e)
end
end
我得到syntax error, unexpected '}', expecting =>
另一个syntax error, unexpected keyword_end, expecting end-of-input
。你能告诉我我做错了吗?
答案 0 :(得分:0)
第一个错误来自这一行:
{e < e.length}
大括号{}
是用于创建Hash
或块的文字符号,它需要这样的内容:
{ :key => :value }
目前尚不清楚您要尝试做什么,但在使用e
时,您无需检查each()
是否超出范围。你可以省略这一行。
第二个错误来自此处缺少的do
关键字:
repeat_every(10)
假设您要将块传递给repeat_every()
,您可以执行以下任何操作:
repeat_every(10) do
client.search_through_subject(e)
end
或
repeat_every(10) { client.search_through_subject(e) }
当您的块只有一行时,通常首选第二个。
另一个警告的词。在您发布的代码中,变量subjects
和clients
可能未在您的方法中定义,除非您将它们作为参数传递。