2

私はRubyが初めてで、学習演習としてチェスを構築しています。いくつかのコードをリファクタリングしようとしていますが、行き詰っています。

なぜこれが機能するのですか:

@available_moves = []

#part of castling logic
@available_moves << "c1" if empty?("b1") && empty?("c1") && empty?("d1")

def empty?(position)
  get_space(position).token =~ /_/
end
# sample tokens: "_e4", "ka2", "_b3"

...そしてこれは違いますか?:

@available_moves = []

@available_moves << "c1" if emptyii?("b1", "c1", "d1")

def emptyii?(*positions)
  positions.each { |position| get_space(position).token =~ /_/ }
end

それはおそらくかなりばかげたことですが、何が間違っているのかわかりません。

4

2 に答える 2