Hanya melihat Ruby:
TL; DR
Gunakan none?
melewatinya satu blok dengan ==
untuk perbandingan:
[1, 2].include?(1)
#=> true
[1, 2].none? { |n| 1 == n }
#=> false
Array#include?
menerima satu argumen dan digunakan ==
untuk memeriksa setiap elemen dalam array:
player = [1, 2, 3]
player.include?(1)
#=> true
Enumerable#none?
juga dapat menerima satu argumen yang digunakan ===
untuk perbandingan. Untuk mendapatkan perilaku yang berlawanan, include?
kami menghilangkan parameter dan memberikannya blok ==
untuk perbandingan.
player.none? { |n| 7 == n }
#=> true
!player.include?(7) #notice the '!'
#=> true
Dalam contoh di atas kita dapat menggunakan:
player.none?(7)
#=> true
Itu karena Integer#==
dan Integer#===
setara. Tapi pertimbangkan:
player.include?(Integer)
#=> false
player.none?(Integer)
#=> false
none?
kembali false
karena Integer === 1 #=> true
. Tetapi notinclude?
metode yang benar-benar harus dikembalikan true
. Seperti yang kami lakukan sebelumnya:
player.none? { |e| Integer == e }
#=> true
do
ruby yang valid? saya mendapatkan kesalahansyntax error, unexpected end-of-input
(berfungsi jika saya menghapusdo
)