bei Stretch the word Um zu spielen, habe ich die folgenden Worte definiert, um zu versuchen, das Problem durch das gleiche Verfahren wie this answer zu arbeiten:Wörter und Zitat Scoping Stretching
USING: kernel math sequences sequences.repeating ;
IN: stretch-words
! "bonobo" -> { "b" "bo" "bon" "bono" "bonob" "bonobo" }
: ascend-string (string -- ascending-seqs)
dup length 1 + iota [ 0 swap pick subseq ] map
[ "" = not ] filter nip ;
! expected: "bonobo" -> "bonoobbooo"
! actual: "bonobo" -> "bbbooonnnooobbbooo"
: stretch-word (string -- stretched)
dup ascend-string swap zip
[
dup first swap last
[ = ] curry [ dup ] dip count
repeat
] map last ;
stretch-word
soll ein Zeichen in wiederholen eine Zeichenkette nach der Häufigkeit, mit der sie bis zu dieser Position in der Zeichenkette angezeigt wird. Jedoch wiederholt sich meine Implementierung alle Instanzen des 1string es wird.
Ich habe das Gefühl, dass dies in Factor leicht implementierbar ist, aber ich kann es nicht ganz herausfinden. Wie mache ich das, was ich will?
süß sein könnte, danke! Ein frisches Augenpaar hilft immer. : D – cat
kein Problem! Ich fühle immer noch, dass es nicht die beste Methode ist ... –
@cat vielleicht, wenn Sie 'map-index' und' head * 'verwenden, um Untersequenzen auf jedem Kartenschritt zu machen, wären Sie besser? –