Synopsis 3: Comparison semantics'daki özet istediğiniz şeyi yapar mı, yoksa zaten okuyor muydunuz? Tasarım dokümanları, bu özelliklerin kullanıldığı test dosyalarına bağlanır, böylece kullanım örneklerini ve mevcut test durumlarını görebilirsiniz.
Perl 6'nın karşılaştırma operatörleri, dinamik bir dile ve devam eden şeylere çok daha uygundur. Sadece dizeleri veya sayıları karşılaştırmak yerine (ya da nesneleri dizgeye veya sayılara dönüştürerek), artık istediğiniz şeyi yapan bir operatörle işleri hassas bir şekilde test edebilirsiniz. Değeri, kabı, türü ve benzeri şeyleri test edebilirsiniz.
Açıklamalardan birinde, eqv
ve cmp
hakkında sorularınız varsa. Perl 5'in eski günlerinde, cmp
, sıralama ve üç sihirli değerden (-1,0,1) birini döndürmek için oradaydı ve bunu her zaman dize anlamıyla yaptı. Perl 6'da cmp
, Order
nesnesinin üç türünden birini döndürür, böylece -1, 0 veya 1'in ne anlama geldiğini hatırlamanız gerekmez. Ayrıca, yenidizge anlamını zorlamaz, bu nedenle (1, 10, 11, 2, 20, 21 ... gibi sıralayacaktır Perl 5'in aksine) numaralar teslim edildiğinde daha akıllı olabilir.
leg
(daha l nakline, e Qual, daha reater g) dize semantik ile cmp
olup. Bu, Perl 6'nın ~
'un, dizge anlamlarını zorlayan yeni "string contextualizer" olduğu ~$a cmp ~$b
olarak tanımlanmıştır. leg
ile, her zaman eski Perl 5 cmp
gibi bir dize karşılaştırması yapıyorsunuz.
Diğer operatörler hakkında hala sorularınız varsa, bunları ayrı sorulara bölelim. :)
Eğer '...' de geçerli bir operatör olduğunu biliyor muydunuz? –
Neden karmaşıklık korkusu var? Tüm özellikleri kullanmanıza gerek yoktur. Neye ihtiyacın olduğunu öğren. – Aftershock