私は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
それはおそらくかなりばかげたことですが、何が間違っているのかわかりません。