S'il vous plaît noter que je ne parle pas générique Type paramètres.Pourquoi n'y a-t-il pas d'équivalent dans les paramètres génériques C# à Ada?
Par exemple, dans Ada, je peux écrire un paquet qui doit être initialisé en utilisant une valeur au lieu d'un type. par exemple.
generic
Size : Positive;
package Sudokus is
subtype Values is Positive range 1..Size*Size;
type Choice is private;
type Sudoku is private;
procedure Fill(S : out Sudoku);
procedure Init(S : out Sudoku);
procedure Solve(S : in out Sudoku);
procedure Print(S : Sudoku);
Unsolvable_Grid_Error : exception;
Et voici comment l'utiliser:
package My_Sudoku is new Sudokus(3); -- 3 for 9x9 solver, 4 for 16x16 solver, etc.
Je suppose qu'il n'y a pas d'équivalent mais je trouve cela très utile. Y a-t-il une raison à cette absence?
N'est-ce pas quelque chose que vous pouvez généralement transmettre à un constructeur? – Rup
Pourriez-vous fournir un exemple qui ne pourrait pas être facilement résolu par un appel de constructeur? –
Un vecteur struct. Mais celui-ci est probablement mieux avec une seule fois pour chaque dimension de 2 à 4. – CodesInChaos