[RUBY] Mémo du jour (opérateur d'indice, affectation multiple)

Opérateur d'indice

Des nombres négatifs (-values) peuvent être spécifiés pour l'indice. La fin de l'élément (a = [n1, n2, n3, n4]) est mise à -1, et elle diminue dans l'ordre vers le début. スクリーンショット 2020-08-06 15.57.15.png De plus, si vous spécifiez deux entiers pour l'indice, vous pouvez générer plusieurs éléments.

a = [0,1,2,3,4,5]
a[1,3]
#=> [1,2,3]

Affectation multiple

Assignez à plusieurs variables de votre code à la fois. Il est possible de renvoyer plusieurs valeurs comme valeur de retour de la méthode et de la recevoir par affectation multiple, mais il est nécessaire de spécifier return.

def foo
    return 1,2,3
end
a,b,c = foo
p a
p b
p c
#=> 1
    2
    3

S'il y a moins de valeurs à attribuer que de variables, nil sera inclus dans les variables restantes.

a,b,c = 1,2
p a
p b
p c
#=> 1
    2
    nil

S'il y a plus de valeurs à affecter que de variables, les valeurs excédentaires sont ignorées.

a,b = 1,2,3
p a
p b
#=> 1
    2

Notez que si plusieurs valeurs sont affectées à une variable, elle sera considérée comme une affectation de tableau, mais s'il y a des valeurs en surplus, elles seront affectées ensemble sous forme de tableau en ajoutant * à la dernière variable.

a,*b = 1,2,3
p a
p b
#=> 1
    [2,3]

Recommended Posts

Mémo du jour (opérateur d'indice, affectation multiple)
Affectation à plusieurs variables avec l'opérateur ternaire
L'opérateur d'affectation de Swift renvoie un taple
Mémo d'apprentissage Java (opérateur logique)