[Note] Qu'est-ce que Kinx? Premier motif ⇒ Veuillez voir ici Référentiel ⇒ Veuillez voir ici
Essayons "b" <=> "aa" `avec irb,
irb(main):001:0> "b" <=> "aa"
=> 1
irb(main):002:0>
** Quoi? !! ** **
Et la gamme? Quand j'essaye d'afficher "" a ".." c "`.
irb(main):002:0> a = "a".."c"
=> "a".."c"
irb(main):003:0> a.each {|e| p e }
"a"
"b"
"c"
=> "a".."c"
Il sera répertorié correctement. Alors qu'en est-il du prétendu "" b ".." aa "?
irb(main):004:0> a = "b".."aa"
=> "b".."aa"
irb(main):005:0> a.each {|e| p e }
=> "b".."aa"
Pourquoi ne puis-je pas utiliser " b ".." aa "
...
Après tout, "" b ".." aa "` ** veut aussi que tu bouges **, n'est-ce pas? Après «b» «est» «c» «, je voulais que vous continuiez vers« z »« et que vous finissiez par «aa» », mais qu'en est-il des autres?
Donc, dans Dernier référentiel (non inclus dans 0.8.1), je l'ai modifié comme suit.
<=>
de la chaîne est retourné dans l'ordre lexical.<=>
de la classe Range
est traitée spécialement uniquement pour la chaîne de caractères afin que" b ".." aa "
puisse également être utilisé.Donc, ici (= Spécifications de plage pour les caractères) est différent de Ruby. S'il vous plaît laissez-nous savoir si vous avez des problèmes.
Eh bien, je ne l'utilise pas beaucoup dans des conditions aussi spéciales, donc personne ne semble avoir de problèmes. Donc, si vous dites lequel est bien, ce peut être l'un ou l'autre. C'était une histoire détaillée.
Et Ruby? Est-ce conforme aux attentes ou inattendu? Est-ce intentionnel ou non? Eh bien, la définition est claire et l'opération suit la définition, donc cela semble calme avec ce genre de chose = spécification.
À la prochaine.
Recommended Posts