[JAVA] L'opérateur d'affectation de Swift renvoie un taple

Le comportement de l'opérateur d'affectation est différent. Swift a 5 ans (environnement en ligne pour le moment car il n'y a que Windows)

En étudiant Swift, je me suis demandé: "Est-il possible d'utiliser Java comme opérateur d'affectation avec Swift?"

Test1.java


        try {
            final File file = new File("src\\test.txt");

            try (final BufferedReader reader = new BufferedReader(new FileReader(file))) {
                String str;
                while((str = reader.readLine()) != null) {
                    System.out.println(str);
                }
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

Dans la partie de (str = reader.readLine ())! = Null, le résultat de la lecture d'une ligne est affecté à str. Étant donné que l'opérateur d'affectation renvoie la valeur affectée, c'est-à-dire que la chaîne de caractères résultant de la lecture d'une ligne est comparée à null.

C'est plus simple,

Test2.java


int a = 1;
int b = a = 2;

Cela affecte 2 à a, puis a = 2 renvoie la valeur affectée. En d'autres termes, b contient 2.

Alors je l'ai essayé avec Swift.

test1.swift


var a = 10
var b = a = 10

print(a)
print(b)

Puis.

10
()

** b est maintenant un tapple. ** ** Est-ce vraiment une tapette? C'est l'heure ...

test1.swift


var a = 10
var b = a = 10

print(b == ())

Puis.

True

** C'était vraiment un tuple. ** ** (Je me suis demandé pourquoi je retournerais le tuple, mais je m'en fichais) J'ai pensé que j'aurais pu le faire sans le savoir, alors j'ai pris note.

Recommended Posts

L'opérateur d'affectation de Swift renvoie un taple
Mémo du jour (opérateur d'indice, affectation multiple)