Skip to content
Extraits de code Groupes Projets
Valider ecf522ef rédigé par Julien Launois's avatar Julien Launois
Parcourir les fichiers

INGI1131 - APE2 - q10 update

parent 38271f0d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
declare
fun {Flatten X}
fun {DoFlatten Xs Start End}
case Xs
of X|Xr then S S1 in
if {DoFlatten X S S1} then
S = Start
{DoFlatten Xr S1 End}
else S2 in
Start = X|S2
{DoFlatten Xr S2 End}
local
fun {Flatten X}
fun {DoFlatten Xs Start End}
case Xs
of X|Xr then S S1 in
if {DoFlatten X S S1} then
S = Start
{DoFlatten Xr S1 End}
else S2 in
Start = X|S2
{DoFlatten Xr S2 End}
end
[] nil then
Start = End
true
else false
end
[] nil then
Start = End
true
else false
end
Start
in
if {DoFlatten X Start nil} then Start
else X
end
end
Start
in
if {DoFlatten X Start nil} then Start
else X
end
{Browse {Flatten [a [b [c d]] e [[[f]]]]}} % -> [a b c d e f]
end
{Browse {Flatten [a [b [c d]] e [[[f]]]]}} % -> [a b c d e f]
\ No newline at end of file
%%% Plus simple mais moins optimisée %%%
local
fun {Flatten X}
case X
of H|T then {Append {Flatten H} {Flatten T}}
[] nil then nil
else [X]
end
end
in
{Browse {Flatten [a [b [c d]] e [[[f]]]]}} % -> [a b c d e f]
end
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter