Odd word problem: Difference between revisions
Content added Content deleted
m (→{{header|Haskell}}: Tidying.) |
MaiconSoft (talk | contribs) (Added Delphi example) |
||
Line 622: | Line 622: | ||
<pre>what,is,the;meaning,of:life. |
<pre>what,is,the;meaning,of:life. |
||
what,si,the;gninaem,of:efil.</pre> |
what,si,the;gninaem,of:efil.</pre> |
||
=={{header|Delphi}}== |
|||
{{libheader| System.SysUtils}} |
|||
{{libheader| System.Console}} |
|||
{{libheader| System.Character}} |
|||
{{Trans|D}} |
|||
<lang Delphi> |
|||
program Odd_word_problem; |
|||
{$APPTYPE CONSOLE} |
|||
uses |
|||
System.SysUtils, |
|||
System.Console, |
|||
System.Character; |
|||
function doChar(isOdd: boolean; f: TProc = nil): Boolean; |
|||
begin |
|||
var c: char := Console.ReadKey(True).KeyChar; |
|||
if not isOdd then |
|||
Write(c); |
|||
if c.IsLetter then |
|||
exit(doChar(isOdd, |
|||
procedure |
|||
begin |
|||
Write(c); |
|||
if assigned(f) then |
|||
f(); |
|||
end)); |
|||
if isOdd then |
|||
begin |
|||
if Assigned(f) then |
|||
f(); |
|||
write(c); |
|||
end; |
|||
exit(c <> '.'); |
|||
end; |
|||
begin |
|||
var i: boolean := false; |
|||
while doChar(i) do |
|||
i := not i; |
|||
readln; |
|||
end.</lang> |
|||
=={{header|EchoLisp}}== |
=={{header|EchoLisp}}== |