Twoim zadaniem jest stworzenie programu, który pobierze słowo o dowolnej długości, czcionką Calibri. To słowo będzie składało się ze znaków literowych znalezionych na normalnej klawiaturze QWERTY. Nie będzie żadnych akcentów ani żadnych innych znaków (tj. Interpunkcja, cyfry itp.).
Tak więc oryginalne postacie to:
ABCDEFGHIJKLMNOPQRSTU VWXYZ
Następnie program szyfruje go, aby zmienić znaki, aby wyglądały podobnie lub dokładnie tak samo, co prawdopodobnie pomyliłoby moduł sprawdzania pisowni, oznaczając je, ale pomyliłoby mnie, ponieważ wygląda tak samo jak normalne słowo, z niezmienionym znakiem.
Przykładem tego jest znak Unicode U+0430
, cyrylica mała litera a („а”), może wyglądać identycznie jak znak Unicode U+0061
, łacińska mała litera a, („a”), która jest małą literą „a” używaną w języku angielskim.
Innym przykładem są rosyjskie litery а, с, е, о, р, х i у mają optyczne odpowiedniki w podstawowym alfabecie łacińskim i wyglądają blisko lub identycznie jak a, c, e, o, p, x i y.
Zasady:
- Program musi wypracować podobne postacie. Oznacza to, że nie można ich przechowywać w żadnej formie . Oznacza to, że wartość Unicode lub sam znak.
- To jest golf golfowy - wygrywa najkrótsza odpowiedź!
- Musisz także opublikować wersję bez golfa, aby uniknąć oszustwa, którego nie można wykryć podczas gry w golfa!
- Możesz to zrobić za pomocą dowolnej funkcji lub programu, o ile nie zostaną tam zapisane słowa.
- Musisz użyć UTF-8. Inne wejścia i wyjścia są zakazane. Dzieje się tak, że właściwie jestem w stanie odczytać to, co wyprowadzasz i co wprowadzam, więc nie mam losowej masy kwadratów, znaków zapytania i innych terminów interpunkcyjnych!
- Musi działać z każdym wprowadzonym słowem.
Działający przykład (Skopiuj i wklej to do słowa i wstaw spację po nim, powinien oflagować drugi, a nie pierwszy).
Halim
Hаlim
Kilka przydatnych informacji jest tutaj
Powodzenia! Zaczynać
Odpowiedzi:
JavaScript, 71 znaków
Wypróbuj to na JSFiddle.
Nawiasem mówiąc, byłoby to o wiele krótsze w CoffeeScript ( 53 znaki )
EDYCJA: Właśnie zauważyłem, że wymóg UTF-8. W JavaScript będzie to trudne. : - /
źródło
George
jestEgret
i inne rzeczy!level
,rotor
,racecar
,refer
ikayak
.Python3 - 51
Leniwy sposób!
Nieco golfa
źródło
print()
- i tak go wydrukujeCommon Lisp, 142
Nie mam czcionki o nazwie Calibri i większość moich czcionek nie ma tych symboli, ale DejaVu Sans je ma. Zamieniam litery na matematyczne symbole alfanumeryczne . Moduł sprawdzania pisowni nie oznacza żadnych błędów. Zamiast tego nie wykrywa błędów, nawet jeśli słowa zawierają oczywiste literówki.
Gra w golfa:
Nie golfowany:
Stosowanie
clisp asconfuse.lisp <in >out
ecl -shell asconfuse.lisp <in >out
sbcl --script asconfuse.lisp <in >out
Zakładam, że twój interpreter Lisp ma obsługę Unicode, a twoje ustawienia regionalne to UTF-8. Nie używaj
abcl
, ponieważ ma problemy poza Podstawową płaszczyzną wielojęzyczną.Klony uniksowe: Możesz uruchomić
locale
w terminalu. Jeśli wiersz LC_CTYPE nie wspomina o UTF-8, spróbujexport LC_CTYPE=en_US.UTF-8
.Przykład
Wkleiłem trochę danych wyjściowych do LibreOffice. Mój tekst zawiera oczywiste błędy ortograficzne, ale LibreOffice nie wykrywa ich. Pod słowami nie rysuje się czerwonych zawirowań, a przycisk sprawdzania pisowni informuje tylko: „Sprawdzanie pisowni jest zakończone”.
Tekst brzmi: „𝖭𝗈𝗐𝗐 𝗂𝗓 𝗍𝖾𝗁 𝗍𝗍𝗂𝗆𝖾 𝖿𝗈𝗈𝗋 𝖺𝗁𝗅 𝗀𝗎𝖽 𝗇𝖾𝗆 𝗍𝗍𝗈 𝖼𝗈𝖾𝗆 𝗍𝗍𝗈 𝗍𝖾𝗁 𝖺𝖾𝖽 𝗈𝗏 𝗍𝖾𝗋𝖾 𝖼𝗈𝗎𝗇𝗍𝗋𝖾𝖾.” Firefox również nie znajduje błędów pisowni w tym tekście.
źródło
Dyalog APL , 7 znaków
Pomiędzy cytatami znajduje się U + FEFF ( zerowa szerokość bez przerw , inaczej BOM Unicode ). Ten znak występuje w czcionce Calibri. Znak
''
jest∘
dodawany,
do każdego¨
znaku w argumencie, a następnie całość jest spłaszczana∊
.źródło