"übertrieben" ist ein Beispiel für ein Wort, das auf einer normalen QWERTY-Tastaturkarte mit der linken Hand eingegeben werden kann. "Monopol" ist ein Beispiel für die rechte Hand.
Durchsuchen der Unix- words
Datei nach Wörtern, die einerseits eingegeben werden können. Die Ausgabe sollte aus zwei Zeilen bestehen: eine durch Leerzeichen getrennte Liste solcher Wörter für die linke Hand, gefolgt von der Liste für die rechte Hand. z.B
a abaft abase abased abases abate abated abates abbess abbesses ...
h hi hill hilly him hip hippo hippy ho hokum ...
Die linken Buchstaben sind:
qwertasdfgzxcvb
Die rechten Buchstaben sind:
yuiophjklnm'
Großbuchstaben gelten als einhändig; Buchstaben mit diakritischen Zeichen gelten als Zweihandbuchstaben, daher können Wörter, die sie enthalten, ignoriert werden.
[a-gq-tv-xz]
für die Buchstaben der linken Hand und['h-puy]
für die Buchstaben der rechten Hand ist etwas kürzer als das Ausschreiben aller Ausdrücke .Antworten:
sed, 78 bytes
benötigt GNU sed, lauf mit
sed -n -f words.sed < /usr/share/dict/words
quelle
Bash (
10089 Zeichen)Beachten Sie, dass 21 Zeichen den vollständigen Pfad zur Wortdatei enthalten: Wenn wir annehmen dürfen, dass pwd / usr / share / dict ist, können 16 davon gespeichert werden.
Dank an chron für die kürzeren regulären Ausdrücke.
quelle
Bash, 86
Taylors
for
, mein Egrep, gruppiert Zeichen.Wenn Sie per Definition mit zwei blinden Händen tippen und einen Großbuchstaben erzeugen möchten, verwenden Sie immer die linke Hand, um einen Großbuchstaben der rechten Hand zu erzeugen und umgekehrt.
Natürlich können Sie
W
nur mit der linken Hand einen Großbuchstaben erzeugen , aber Sie können auchjunk
mit der linken Hand produzieren, wenn Sie möchten.quelle
Borowski-Schale, 55 Zeichen
(Oder irgendeine Bourne-ähnliche Muschel, aber
bash
,zsh
oderyash
)Genannt als
sh -f words.sh /usr/share/dict/words
. (natürlich auf Systeme , bei denensh
tatsächlich sindbash
wie bei einigen Linux - Distributionen verwenden andere Bourne-Shell wie wieash
,ksh
,mksh
,pdksh
,posh
...)quelle
Javascript (Knoten), 201 Byte
Dies kann wahrscheinlich in einer viel kürzeren Version in einer anderen Sprache umgeschrieben werden, aber ich wollte Node nur ausprobieren.
Laufen Sie mit
node words.js < /usr/share/dict/words
quelle
Q (
121 -140 Byte)Die Ausgabe ist nicht exakt gleich (Backticks statt Leerzeichen), dies ist jedoch symptomatisch für die Anzeige von Zeichenfolgentypen durch Q.
EDIT: Hatte gemischte Groß- und Kleinschreibung, +20 Zeichen zu behandeln
quelle
`$'i(&:')(min'')(+)(i:read0`:/usr/share/dict/words)in/:\:(x,upper x:"qwertasdfgzxcvb";y,upper y:"yuiophjklnm'")
Ruby,
11292 ZeichenEDIT: Das ist kürzer, aber bei weitem nicht so lustig:
Original:
Ziemlich einfache, auf Regex basierende Lösung. Wie bei den anderen können Sie einige Zeichen speichern, wenn Sie den Dateinamen in ARGV übergeben dürfen oder wenn davon ausgegangen wird, dass er sich in Ihrem aktuellen Verzeichnis befindet.
quelle
Python, 130 Bytes
Laufen Sie mit
python one_handed_words.py < /usr/share/dict/words
quelle
Haskell
quelle
Python 2.7 (139 Zeichen)
quelle
Perl, 72 Bytes
renn mit
perl words.pl /usr/share/dict/words
quelle
r
hinzugefügt wurde)Python - 152
137Zeichen (ungetestet)Bearbeiten: Großbuchstaben und Apostroph behandeln.
quelle
Python, 243 Zeichen
edit: hier ist ein kompatibleres programm entsprechend der frage:
invoke:
python onehanded.py > /usr/share/dict/words
oder eine beliebige andere Wortdatei mit durch Zeilenumbrüche getrennten Wörternalt: 141 Zeichen, nur eine Einzelwortfunktion
kehrt zurück
right
oderleft
wennw
zur Hand ist undboth
beide Hände verwendet werden.quelle
Q, 95 (111 mit fest codiertem Diktatpfad)
Verwendung
14 weitere Zeichen, wenn Sie es fest codieren
quelle
J 109
Ich bin mir sicher, dass das besser geht, ich weiß nicht, wie man Strings manipuliert :-(
quelle
Python: 122
Gestartet mit:
Die Idee ist größtenteils die gleiche wie bei Dillon Cower, aber ich benutze sie
set(w)<=S
, um eine Teilmenge anzugeben, währendset(w)^S>=S
für eine disjunkte Menge.quelle