>> make pair! [20 30]
== 20x30
>> make pair! 42
== 42x42
Le type Pair!
1. Résumé
Le type de données pair!
est utilisé pour représenter des coordonnées bidimensionnelles.
Pair!
appartient aux ensembles de types suivants: immediate!
, scalar!
2. Syntaxe littérale
Une paire s'écrit comme deux entiers séparés par un x
.
1024×768
-42x42
3. Création
Les valeurs de type Pair! peuvent être créées à l’aide de la syntaxe littérale, ou à l’exécution en utilisant le constructeur make
, to
conversion, ou le natif as-pair
.
>> to pair! [20 30]
== 20x30
>> to pair! 42
== 42x42
>> to pair! "42x42"
== 42x42
as-pair
prend deux arguments x
et y
de type integer!
ou float!
. Les valeurs de Float seront tronquées.
>> as-pair 20 30
== 20x30
>> as-pair 1.23 42
== 1x42
4. Comparaisons
Tous les comparateurs peuvent être appliqués à Pair!
: =, ==, <>, >, <, >=, <=, =?
. De plus, min
, et max
sont aussi supportés.
5. Arithmétique
+
, -
, *
, /
, %
, //
, add
, subtract
, multiply
, divide
, remainder
, et mod
peuvent être utilisés avec les valeurs de type pair!
.
6. Raffinements
Les paires permettent l’usage des raffinements /x
et /y
pour la visualisation et la modification des coordonnées.
>> my-pair: 1024x768
== 1024x768
>> my-pair/x
== 1024
>> my-pair/y
== 768
>> my-pair/y: 42
== 42
>> my-pair
== 1024x42
7. Test de valeurs
Utilisez pair?
pour vérifier si une valeur est du type Pair!
.
>> pair? 42x42
== true
>> pair? 42
== false
Utilisez type?
pour connaître le type d’une valeur donnée.
>> type? 42x42
== pair!
8. Mots prédéfinis
8.1. Actions
absolute
, add
, and~
, at
, copy
, divide
, multiply
, negate
, or~
, pick
, remainder
, reverse
, round
, skip
, subtract
, xor~
8.2. Fonctions
caret-to-offset
, draw
, first
, make-face
, metrics?
, mod
, modulo
, offset-to-caret
, offset-to-char
, pair?
, second
, size-text
, to-pair
, within?
8.3. Natifs
as-pair
, case
, extend
, zero?
8.4. Opérateurs
%
, *
, +
, -
, /
, //
, and
, or
, xor