Anonymous user
Best shuffle: Difference between revisions
→{{header|Elena}}
(→{{header|Java}}: fix randomization bug) |
|||
Line 1,262:
<lang Elena>#define system.
#define system'routines.
// --- shuffle ---
#symbol shuffle = (:aLiteral)
Line 1,268 ⟶ 1,270:
#var aShuffled := literalControl toArray:aLiteral.
control
[
#var aChar := aLiteral@i.
(aChar == (aShuffled@i)) ?
[
control
[
#var anAltChar := aShuffled@j.
Line 1,288 ⟶ 1,290:
^ Summing new:(String new) foreach:aShuffled literal.
].
// --- ShuffleScore ---
#symbol scoreShuffle = (:anOriginal:aShuffled)
Line 1,293 ⟶ 1,297:
#var aScore := Integer new.
control
[ (anOriginal @ i) == (aShuffled @ i) ? [ aScore += 1. ]. ].
^ aScore number.
].
// --- Program ---
#symbol program =
|