Napisz kod w dowolnym języku, który wprowadza ciąg taki jak „Dzisiaj jest wielki dzień” (zauważ, że nie ma interpunkcji) i konwertuje go na „Tajny język”. Oto zasady dotyczące „Tajnego języka”.
- a = c, b = d, c = e itd. (y = a i z = b)
- oddziel każde słowo spacją
- upewnij się, że jest odpowiednio wielkie litery
Przykład:
Input: "Today is a great day"
Output: "Vqfca ku c itgcv fca"
To konkurs popularności. Inni użytkownicy powinni dawać punkty, szukając najbardziej „do rzeczy” jeszcze „unikalnego” kodu.
WYZWANIE: Szukałem niezwykłych języków programowania i znalazłem język o nazwie Piet ( esolang ). Wzywam każdego do napisania tego w tym języku.
popularity-contest
Vik P.
źródło
źródło
x=z, y=a, z=b
?a=c
ISa -> c
.Odpowiedzi:
Smalltalk (Smalltalk / X),
2927 znakówMam szczęście - jest już w klasie String:
dodanie I / O powoduje, że:
w duchu przytłumionego przykładu klamki poniżej, co powiesz na:
źródło
Rubinowe, zaciemnione wydanie (z dołączonym komentarzem!)
Proponuję przeczytać całość; Uważam to za dość zabawne;)
Wskazówki, jak to działa (spoilery, najedź kursorem, aby pokazać):
źródło
Postscriptum
Centrala wymaga, aby odtąd wszyscy agenci otrzymywali komunikaty wyłącznie w formie drukowanej (ponieważ kanały elektroniczne okazały się zbyt zawodne) przy użyciu specjalnej ściśle tajnej czcionki. Twoim obowiązkiem jest włączenie tej ściśle tajnej procedury do prologu naszego oprogramowania do drukowania:
I tylko ta czcionka jest dozwolona, np .:
I to właśnie drukuje:
źródło
grzmotnąć
Klasyczny.
Przykład:
źródło
DFSORT (program do sortowania komputerów mainframe IBM)
W kolumnie pierwszej nie można rozpocząć instrukcji sterującej SORT.
Aby powyższe działało samodzielnie, musiałbyś zmienić domyślną alternatywną tabelę tłumaczenia instalacji, aby zrównoważyć wszystkie wartości wielkich i małych liter, owijając się wokół dwóch ostatnich liter.
Bez zmiany domyślnej tabeli wymagałoby to instrukcji ALTSEQ z listą wszystkich wymaganych par wartości szesnastkowych (od kodu szesnastkowego bezpośrednio po kodzie szesnastkowym, każda para wartości szesnastkowych oddzielona przecinkiem):
Aby uzyskać duże litery EBCDIC A do C i B do D:
KOD ALTSEQ = (C1C3, C2C4)
Ogólnie rzecz biorąc, byłoby to dużo podatnego na błędy pisania, więc użyłbyś innego kroku SORT do wygenerowania kart kontrolnych dla tego kroku i pozwoliłby SORTowi odczytać je z zestawu danych utworzonego przez ten nowy krok.
Oczywiście w przypadku każdego języka, który obsługuje „tabelę tłumaczeń”, zmiana tablicy jest tak prosta, jak to tylko możliwe. Przyjemny program COBOL z konkretną stroną kodową, i można to zrobić w jednym wierszu kodu procedury COBOL (plus obowiązkowe wiersze COBOL, które pasują do wszystkiego ... nie tak wielu w tym konkretnym przypadku).
Och, 1,80 to „obraz karty”, który będzie zawierał tekst. Prawdopodobnie wszystko za pierwszym razem ...
źródło
C, 75 bajtów
Przykład:
źródło
~(c=getchar())
zapisywać 1 znakuc-32
, co pozwala zaoszczędzić 6 znakówint
, a nawet liczba znaków jest podana, w jakiś sposób założyłem, że to kod golfowy. Przepraszam.Pyton
Wynik:
rfc ucyrfcp gq tcpw lgac rmbyw
źródło
+3
prawda? (2) Możesz wstawić wiele rzeczy, aby było to bardziej skomplikowane. (wydaje się, że jest to trend tutaj)b = a[2:] + a[:2]
byłby mniej podatny na literówki i wydaje się, że nie ma potrzeby przekształcania łańcuchaa
nalist
c = dict(zip(a,b))
. Iexcept
nie powinno być tak ogólne, użyjexcept KeyError
str
konkatenacja jest bardzo wolna. Utwórzlist
i dołącz do nich razem byłoby znacznie lepiej.JavaScript
źródło
PHP
Jednak nie najkrótszy!
Przykład na żywo: https://eval.in/102173
Uwaga:
źródło
TI-Basic (język, który działa na kalkulatorach graficznych TI-83)
To jest dobre oprogramowanie szyfrujące (dla TI-83). Pod pojęciem ti-83 rozumiem dowolny kalkulator z rodziny ti-83 lub ti-84. „->” oznacza „SKLEP” dostępny przez „STO>”
źródło
Rubin
4032aktualizacja (jak widać z rozwiązania danieros bash):
źródło
Java, w rzeczywistości jest zrozumiałe.
Wiem, że cokolwiek z białymi spacjami i nawiasami ma problemy z CG, ale tutaj jest szansa.
Istnieją osobne konkursy na zaciemnianie kodu, ale mogę sprawić, że moje też będą śmieszne.
źródło
JavaScript
Co z tymi wszystkimi komentarzami, mój chomik może to zrozumieć.
źródło
Myślę, że ROT2 to!
JavaScript
źródło
[A-z]
!Haskell
Oto implementacja oparta na obiektywach. Używam
Iso
do reprezentowania izomorfizmu między zwykłym tekstem a tekstem przekonwertowanym na tajny język. O ile nie podasz--from
opcji, dane wejściowe są konwertowane na tajny język. Jeśli--from
opcja jest podana, przeprowadzana jest odwrotna konwersja.Przykłady:
źródło
do
źródło
EcmaScript 6:
źródło
JAWA
32
jest,space
więc wydrukujemy go takim, jaki88
jestX
więc niczym mniej niż89
porusza się w górę 2 znaków90
jestZ
więc niczym mniej niż91
przesuwa się w dół 24 znaków (z czymś mniej niż89
już traktowane tak tylko89
i90
skutecznie)Powtórz ten sam proces na małe litery, od
97
taka
, aby122
jakz
.źródło
PowerShell
Wynik:
źródło
PHP
To rozwiązanie jest nudne:
źródło
Python 3
Myślę, że nie do końca zrozumiałem pytanie, ale w każdym razie:
źródło
Python 2.x
Próba bogatego w funkcje rozwiązania w języku Python.
Funkcje:
shift=2
można ją zmieniaćshift
(po prostu użyj minus), pozwoli to również przetestować wyjście.strict
dla niezdefiniowanych znaków lub po prostu zwrócić niezdefiniowany znak wejściowy.Tutaj idzie:
Dowód:
Czy potrafisz rozszyfrować
'Wrpruurz lv qrw edg hlwkhu!'
:)?źródło
Extended BrainFuck
Ponieważ jest to konkurs popularności, napisałem to z zamiarem, aby był tak łatwy do śledzenia, jak tylko może być EBF. Jest mocno komentowany i celowo użyłem makr, aby program był bardziej dosłowny.
Prawdopodobnie najtrudniejszą rzeczą jest tutaj główny przełącznik, ponieważ EBF nie ma żadnych specjalnych sposobów, aby to zrobić, więc w rzeczywistości nie jest to prostsze niż jak by to zrobić w BrainFuck, z wyjątkiem zmiennych i nawiasów równoważących.
źródło
JavaScript
źródło
Q
źródło
Jawa
źródło
C #, 163
Tak, to nie jest golf golfowy. I tak poszedłem najkrócej (a przynajmniej zrobiłem to pierwszy dźgnięcie)
Sformatowany:
Tak, rzuciłem okiem na odpowiedź ufisa .
źródło
C # 5 KB
391
źródło
popularity contest
znaczek pod wyzwaniem (zobaczysz opis wyjaśniający: „ Konkurs popularności to konkurs, w którym wygrywa poprawna odpowiedź z największą liczbą głosów pozytywnychusually the most creative answer
”).Today is a great day
ponieważ nie obsługuje wielkich liter.Bash, 8 znaków
... jeśli masz zainstalowany pakiet bsdgames! Odczytuje ze standardowego wejścia.
Przykład
Wynik:
Vqfca ku c itgcv fca
źródło
do
źródło