Rebmμ (10 znaków)
e? AtsAuqA
Sztuczka Rebmu polega na tym, że rozróżnia małe i wielkie litery, więc postacie są uruchamiane razem. Ilekroć trafione zostanie przejście sprawy, zostanie ono podzielone na następny token. Dzięki zastosowaniu przejść zamiast rzeczy CamelCase, jedyny w swoim rodzaju wybór, aby zacząć od kapitału, oznacza „ustalone słowo”. (Chociaż słowa-zestawy mogą być używane do innych celów w programowaniu symbolicznym, domyślnie są one oceniane jako zadania).
To „unmushuje”, aby:
e? a: ts a uq a
Miejsce jest potrzebne, ponieważ po rozpoczęciu serii przebiegów naprzemiennych spraw nie można użyć tej sztuczki, aby uzyskać ustawione słowo po pierwszym, chyba że rozpoczniesz nowy przebieg. Więc e?AtsAuqA
nie dałbym ci e? a ts a uq a
... żadnego zadania.
(Uwaga: z tego, co może nie być szczególnie dobrego powodu, wolę przemyśleć rozwiązania, aby nie było spacji, jeśli liczba znaków jest równa. Ponieważ nawiasy, nawiasy i ciągi niejawnie kończą symbol ... często są uczciwe liczba możliwości.)
W każdym razie, gdy jest mapowany na Rebol, który skraca:
equal? a: to-string a unique a
Rzucanie w niektórych nawiasach, aby uzyskać sedno kolejności oceny:
equal? (a: (to-string a)) (unique a)
Tak więc operator równości prefiksu jest stosowany do dwóch argumentów - pierwszy wynik przypisania do a
samej wersji łańcucha, a drugi wynik unique
działania na tym łańcuchu. Zdarza się, że unikalny zwróci Ci elementy w takiej samej kolejności, w jakiej je przekazałeś ... tak unikalny dla „31214” to na przykład „3124”.
Uruchom z:
>> rebmu/args "e? AtsAuqA" 17308459
== true
Istnieją również statystyki i informacje debugowania:
>> rebmu/args/stats/debug "e? AtsAuqA" 48778584
Original Rebmu string was: 10 characters.
Rebmu as mushed Rebol block molds to: 10 characters.
Unmushed Rebmu molds to: 15 characters.
Executing: [e? a: ts a uq a]
== false
Jeśli wymaga się zdefiniowania funkcji o nazwie / wielokrotnego użytku, można utworzyć „funkcję A”, która domyślnie przyjmuje parametr o nazwie z a|
. (Funkcja B zostałaby utworzona za b|
pomocą parametru o nazwie A, a następnie o nazwie B). Dodałoby to jeszcze pięć znaków ... powiedzmy, że wywołujesz funkcję „f”
Fa|[e? AtsAugA]
„Śmiejesz się! Śmiali się z Einsteina! Albo czekaj… prawda? Nie… nie wiem.”