Les variables inline, quoi qu'est-ce ?

Parmi les nouveautés annoncées pour Delphi 10.3 Rio, Marco Cantù a vendu la mèche sur les variables inline. Un truc qui sera vu comme une aberration pour les puristes du Pascal mais qui soulagera les développeurs ayant aussi l'habitude de bosser dans des langages issus du C.

Pour faire court les variables inline sont des variables locales de bloc.

A partir de la version 10.3 Rio le langage Pascal utilisé dans Delphi évolue et permettra donc de ne plus déclarer tout ce qu'on utilise au niveau de l'entête d'une procédure, d'une fonction, dans une classe ou encore en global à une unité.

Je vous invite à consulter l'article de Marco Cantù sur ce sujet. Il y détaille "toutes" (?) les syntaxes possibles et m'en vais m'amuser à mettre "for var i := 0 to 9 do begin end;" partout où j'avais besoin d'une variable i que je n'ai donc plus à déclarer par un "var i : integer;" plus tôt.

Soyez quand même attentifs à deux points très importants :

  • La portée des variables inline est limitée au bloc dans lequel elle sont déclarées. Faites donc attention à ne pas déclarer des choses que vous auriez déjà déclarées au dessus car le contenu en sera différent.
  • Cette possibilité est fournie par les compilateurs d'Embarcadero sur toutes les plateformes cibles à partir de Delphi 10.3 Rio. Elle n'est pas rétrocompatible ni exploitable sur d'autres environnements de développement en Pascal. Donc ne l'utilisez que si vous passez à la nouvelle version de Delphi et ne désirez pas exploiter les mêmes programmes dans d'anciennes versions ou sur d'autres compilateurs.

Ce qui va être marrant c'est de mettre à jour tous les livres et tous les supports des formations au langage Pascal utilisé dans Delphi. Heureusement j'ai pris un peu d'avance car je savais. #GniarkGniarkGniark

On se retrouve à Paris le 15 novembre pour voir plein d'autres choses sur Delphi 10.3 Rio et discuter de tout ça ? Il reste encore de la place. Inscrivez-vous vite.


Mug carte postale SydneyMug Toucan DX dans la baie de Rio