|
#
# Test the GAP function coder
#
gap> START_TEST("coding.tst");
#
# Test coding of if-statements in which some conditions are true or false
#
#
# test if-statements with single branch
gap> f:=function(x) if x then return 1; fi; end;; Display(f);
function ( x )
if x then
return 1;
fi;
return;
end
gap> f:=function(x) if true then return 1; fi; end;; Display(f);
function ( x )
return 1;
end
gap> f:=function(x) if false then return 1; fi; end;; Display(f);
function ( x )
;
return;
end
# test if-statements with two branches (note that 'else' is equivalent to 'elif true'),
# first condition is neither true nor false
gap> f:=function(x) if x then return 1; else return 2; fi; end;; Display(f);
function ( x )
if x then
return 1;
else
return 2;
fi;
return;
end
gap> f:=function(x) if x then return 1; elif x then return 2; fi; end;; Display(f);
function ( x )
if x then
return 1;
elif x then
return 2;
fi;
return;
end
gap> f:=function(x) if x then return 1; elif false then return 2; fi; end;; Display(f);
function ( x )
if x then
return 1;
fi;
return;
end
# test if-statements with two branches (note that 'else' is equivalent to 'elif true'),
# first condition is true
gap> f:=function(x) if true then return 1; else return 2; fi; end;; Display(f);
function ( x )
return 1;
end
gap> f:=function(x) if true then return 1; elif x then return 2; fi; end;; Display(f);
function ( x )
return 1;
end
gap> f:=function(x) if true then return 1; elif false then return 2; fi; end;; Display(f);
function ( x )
return 1;
end
# test if-statements with two branches (note that 'else' is equivalent to 'elif true'),
# first condition is false
gap> f:=function(x) if false then return 1; else return 2; fi; end;; Display(f);
function ( x )
return 2;
end
gap> f:=function(x) if false then return 1; elif x then return 2; fi; end;; Display(f);
function ( x )
if x then
return 2;
fi;
return;
end
gap> f:=function(x) if false then return 1; elif false then return 2; fi; end;; Display(f);
function ( x )
;
return;
end
# test some if-statements with three branches
gap> f:=function(x) if true then return 1; elif true then return 2; else return 3; fi; end;; Display(f);
function ( x )
return 1;
end
gap> f:=function(x) if true then return 1; elif x then return 2; else return 3; fi; end;; Display(f);
function ( x )
return 1;
end
gap> f:=function(x) if x then return 1; elif true then return 2; else return 3; fi; end;; Display(f);
function ( x )
if x then
return 1;
else
return 2;
fi;
return;
end
gap> f:=function(x) if x then return 1; elif false then return 2; else return 3; fi; end;; Display(f);
function ( x )
if x then
return 1;
else
return 3;
fi;
return;
end
gap> f:=function(x) if false then return 1; elif true then return 2; else return 3; fi; end;; Display(f);
function ( x )
return 2;
end
gap> f:=function(x) if false then return 1; elif x then return 2; else return 3; fi; end;; Display(f);
function ( x )
if x then
return 2;
else
return 3;
fi;
return;
end
#
gap> STOP_TEST("coding.tst");
[ Verzeichnis aufwärts0.38unsichere Verbindung
Übersetzung europäischer Sprachen durch Browser
]
|