String et caractère

Bonjour,

Je débute en programmation Swift et j’aimerai savoir comment fait-on pour afficher la première lettre d’un mot dans le playground.

Merci.

Euh … c’est trop moderne pour moi, ce truc … jamais utilisé.

Par contre, en « vraie » programmation on fait comme ça :

    let text = "Sushi Power !"
    if let c = text.first {
        print (c)
    }

Le if let est un mécanisme de sécurité évitant le plantage de l’application si la chaîne est vide.

EDIT : En fait, ce n’est pas bien compliqué :

1 « J'aime »

je viens de voir que l’instruction print() fonctionne aussi avec le playground. On peux écrire :

import UIKit

var str = "Hello, playground"
let c = str.first
print (c)

Il va s’afficher : Optional(« H »).
"H" parce que c’est le premier caractère de la chaîne, et Optional pour dire que c’est une variable de type Character? contenant :

  • un caractère et une information sur la validité du contenu

Extraire le premier caractère d’une chaîne vide peut être gênant pour le bon fonctionnement d’une application. D’où l’intérêt d’utiliser une variable sécurisée, capable d’indiquer à l’application que l’opération n’a pas été possible.

Les pirates et bidouilleurs aiment bien tester la sécurité d’une application en envoyant des chaînes vides, histoire de voir ce qui va se passer.

Le Playground n’aime pas afficher le contenu d’une variable optionnelle. Il fait le job, mais affiche un message d’avertissement en jaune pour dire qu’il considère ça comme une erreur.

La syntaxe que j’ai donné au début, évite ce problème :

import UIKit

var str = "Hello"
if let c = str.first {
  print (c)
}

Il s’affiche bien « H » et non Optional(« H »), car le if let a testé si le contenu de l’information était bonne et généré une variable Charactere ordinaire.

Oui, c’est bien compliqué, juste pour extraire un simple caractère, mais cela permet de sécuriser les programmes contre différents problèmes faisant planter ou buger les applications classiques.

Ce n’est pas spécifique à Swift, tous les langages modernes ont des mécanismes similaires, comme Kotlin pour le développement Android.

1 « J'aime »

Un grand merci Draken.