Gestion des types de citations
En Dlang, les guillemets simples, doubles et backticks ont des fonctions distinctes. Les guillemets simples définissent un type CHAR, les doubles un type STRING, et les backticks un type SYMBOL. Pour ajouter un CHAR à un vecteur SYMBOL, convertissez-le d'abord en STRING avec la fonction string.
charactere = 'A'
symboleVector = [`a, `b, `c, `d]$SYMBOL
ajouter = string(charactere) + symboleVector // Conversion et ajout
Opérations de division et précision
L'opérateur / effectue une division entière si les deux opérandes sont des entiers, tronquant la partie décimale. Utilisez \ pour conserver la partie fractionnaire. Si l'un des opérandes est un flottant, les deux opérateurs donnent le même résultat.
valeur1 = 150 / 4 // 37
valeur2 = 150 \ 4 // 37.5
Les nombres flottants peuvent présenter des imprécisions dues à leur représentation binaire. Pour les comparaisons, utilisez eqFloat au lieu de ==. Pour contrôler la précision, appliquez round ou utilisez le type DECIMAL.
Différenciation des valeurs vides
DolphinDB distingue trois types de valeurs vides : NULL pour les types scalaires, des vecteurs vides pour les séquences, et des chaînes vides pour les textes. Évitez de les confondre dans les opérations.
Identification et nettoyage des variables
Utilisez typestr pour déterminer le type d'une variable, tel qu'un vecteur, une table ou un dictionnaire. Le nettoyage dépend du type : pour les vecteurs, affectez une valeur vide ; pour les tables, utilisez clearTable ; pour les dictionnaires, employez clear.
tableDonnees = table(10 20 30 as id, [`x, `y, `z] as symbole, 100 200 300 as valeur)
typestr tableDonnees // Retourne "IN-MEMORY TABLE"
clearTable tableDonnees // Nettoie la table
Dépassement de la plage temporelle
Le type DATETIME utilise un entier 32 bits, limité aux années 1901 à 2038. Au-delà, il y a un retour à 1970. Préférez le type TIMESTAMP pour une plage étendue. Les fonctiosn de conversion incluent date, datetime, timestamp et temporalParse.
Fonctions de traitement de chaînes
Pour formater une chaîne avec une largeur spécifique, utilisez stringFormat. Pour rechercher une sous-chaîne, appliquez strFind ou strpos, qui renvoient l'index ou -1 si non trouvé. L'extraction peut se faire avec regexFindStr, substr ou split.
nomFichier = "DATASET_A1_20230515.csv"
expression = regexFindStr(nomFichier, "[0-9]{8}") // Retourne '20230515'
extrait = substr(nomFichier, 12, 8) // Retourne '20230515'
parties = split(nomFichier, "_").last().split(".").first() // Retourne '20230515'
Filtrage vectorisé sans boucles
Pour obtenir les indices des éléments d'un vecteur supérieurs à une valeur, utilisez la syntaxe vectorielle. Créez une séquence d'indices et appliquez une condition.
seq = 10 15 20 25 30
indices = at(seq > 20) // Renvoie [2, 3, 4]
Manipulation des dictionnaires
Convertissez un dictionnaire en table avec transpose, et supprimez des clés avec erase!.
dico = dict(`x`y`z, 50 60 70)
tableTrans = transpose(dico) // Convertit en table
erase!(dico, `x) // Supprime la clé x
Déploiement et mise à jour des modules
Pour télécharger un module via VSCode, sélectionnez le fichier, cliquez sur "Upload" et choisissez "DolphinDB: Upload Module". Vérifiez que le nœud de téléversement correspond à la connexion, que le nom de fichier correspond au module interne, et que le fichier est dans le répertoire Home. En cas de cache obsolète, utilisez clearCachedModules() ou reconnectez l'application.