【发布时间】:2017-07-27 12:44:55
【问题描述】:
我有一个带有两个参数的方法。 (max_length) 的整数和 (text) 的字符串。如果文本中每个单词的字符数 >= max_length,我们会从数组中删除该单词。最后我们计算数组中剩余的单词。
我的方法运行良好,直到遇到text.count'wrong number of arguments, given 0 expected 1+'
我 know 这是因为我们没有向 text.count 传递任何参数,但我不想传递任何参数,因为我只想计算数组中剩余的单词数。
但是,如果我执行一个简单的示例
x = ["This", "Will", "Work"]
x.count => 3
为什么我不能在我的块中使用这个计数示例?
我做错了什么?
def timed_reading(max_length, text)
text.split.delete_if do |y|
y.length >= max_length
text.count
end
end
【问题讨论】:
-
“我做错了什么?” - 你的计数在
delete_if的块中,它应该在外面。 -
方法名称并没有让我觉得特别具有描述性。
标签: ruby