Pri la triopa egala komparilo
Kunlaboranto havis demandojn pri la ===
komparilo hodiaŭ kaj mi pensis ke ĝi estus bona temo por diskuti. Unu metodo por kompreni ĝin estas se a === b
tiam "se mi havas ujo nomita a
ĉu b
nature enmeteblas tie". Ekzemple:
(1..5) === 3 #=> true
(1..6) === 6 #=> false
# do tie ĝi similas al include?
Integer === 42 #=> true
Integer === 'kvardek du' #=> false
Range === (1..5) #=> true
# kaj tie similas al is_a?
/ut/ === 'saluton' #=> true
/ut/ === 'zamenhof' #=> false
# kaj tie similas al =~
Ĝi estas konata kiel la kazegala ordono en la angla kaj por pensi pri ĝi kiel la subordono uzata en kazordorno helpas multe. Sekve espereble helpos:
case foo
when bar
baz
when quuk
flurb
else
blarf
end
estas tre simila al
_var = foo
if bar === _var
baz
elsif quux === _var
flurb
else
blarf
end
Mi esperas ke tio helpis vin kompreni ĝin plu. Ĝi tute ne rilatas al egaleco, sed aparteneco.