2009-02-21 10 views
6

Je suis un débutant dans le domaine de la programmation fonctionnelle et je viens d'apprendre Scheme (bien que ce soit un langage de programmation semi-fonctionnel). J'ai fait quelques tutoriels sur des listes qui sont bien supportées dans Scheme. Je me demandais si Scheme a le soutien pour jouer avec des tableaux? Ou dois-je définir mon propre type de données? Les listes sont des types de données définis de manière inductive. Si je dois définir des tableaux comme un nouveau type de données, peut-il être défini de manière inductive?Représentation de tableau dans le schéma

Aidez-nous s'il vous plaît. Merci d'avance.

acclamations

Répondre

9

Vous recherchez des vecteurs.

(define arr (vector 1 2 3)) 
(define arr #(1 2 3)) 
+0

Merci de m'avoir initié à la notion de vecteur dans le schéma. Je l'ai juste cherché et il semble que l'on puisse regarder en permanence (comme dans les tableaux). En outre, il semble être un type de données fixé dans l'espace - un peu comme un tableau. Bravo – Arnkrishn

+1

Rappelez-vous que les constantes vectorielles (au moins R5RS) doivent être indiquées. Le dernier exemple devrait être '(define arr '# (1 2 3))'. Note: certaines implémentations rendent le devis optionnel. – soegaard

1

Vous pouvez représenter des tableaux à l'aide de vecteurs. Les vecteurs dans Scheme ne sont pas fonctionnels dans le sens où vous pouvez les muter (en utilisant un ensemble de vecteurs!). Cependant, les listes peuvent être muté en utilisant set-car! et set-cdr !.

Questions connexes