diff options
| author | HVukman <peterslopp@googlemail.com> | 2025-07-03 20:20:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-03 20:20:19 +0200 |
| commit | 2a080aaf4034902d5b9acd0762a8f2a4bb80a8a2 (patch) | |
| tree | 74eaffce313b62516c54395c29eab43362a352c9 | |
| parent | 34301c9e3a09b1ec539191e9d1b698beba948aff (diff) | |
| download | perlweeklychallenge-club-2a080aaf4034902d5b9acd0762a8f2a4bb80a8a2.tar.gz perlweeklychallenge-club-2a080aaf4034902d5b9acd0762a8f2a4bb80a8a2.tar.bz2 perlweeklychallenge-club-2a080aaf4034902d5b9acd0762a8f2a4bb80a8a2.zip | |
Create 328_p1.fs
| -rw-r--r-- | challenge-328/hvukman/f#/328_p1.fs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/challenge-328/hvukman/f#/328_p1.fs b/challenge-328/hvukman/f#/328_p1.fs new file mode 100644 index 0000000000..7c1ce7d3f7 --- /dev/null +++ b/challenge-328/hvukman/f#/328_p1.fs @@ -0,0 +1,12 @@ +open System +let example = "a?z" +let rnd = new Random() + +// choose random a-z +let rnd_char = ['a' .. 'z'].[rnd.Next(0, 25) ] + +// tailcall rec newchar; if n=x repeat newchar with new randomchar +[<TailCall>] +let rec newchar n x = if n=x then newchar rnd_char x else printfn "%c" n +// iterate over string +String.iter (fun x -> if x <> '?' then printfn "%c" x else newchar rnd_char x) example |
