0

我想知道如何在 Gosu 教程reject的这段代码中定义:

def collect_stars(star)
  if Star.reject! {|star| Gosu::distance(@x, @y, Star.x, star.y) < 35} then
    @score += 1
  end
end

查看教程,我看不到在哪里reject定义。你会怎么定义它?

4

1 回答 1

0

代码指的stars.reject!是有意义的,因为这可能是内置的 Arrayreject!方法

def collect_stars(stars)
  if stars.reject! {|star| Gosu::distance(@x, @y, star.x, star.y) < 35 } then
    @score += 1
  end
end

您在这里所做的是将其切换到Star.reject!完全不同的状态,它与班级对抗Star。我不确定你的意图是什么。

于 2014-01-31T17:46:43.270 回答