Rebmμ (10 karakter)
e? AtsAuqA
Trik "mushing" Rebmu adalah bahwa case-insensitive, jadi karakter dijalankan bersama. Setiap kali transisi kasus dipukul, itu terbagi ke token berikutnya. Dengan menggunakan transisi alih-alih jenis CamelCase, pilihan unik untuk memulai dengan modal besar berarti "set-word" dibuat. (Sementara set-words dapat digunakan untuk tujuan lain dalam pemrograman simbolik, mereka dievaluasi sebagai tugas secara default).
Jadi ini "tidak bersuara" ke:
e? a: ts a uq a
Ruang diperlukan karena setelah Anda memulai serangkaian proses bergantian, Anda tidak dapat menggunakan trik itu untuk mendapatkan kata-kata setelah yang pertama kecuali Anda memulai proses baru. Jadi e?AtsAuqA
akan membuat Anda e? a ts a uq a
... tidak ada tugas.
(Catatan: Untuk alasan yang mungkin bukan alasan yang bagus, saya cenderung lebih suka memikirkan kembali solusi sehingga tidak ada spasi, jika jumlah karakter sama. Karena tanda kurung, tanda kurung, dan string secara implisit mengakhiri simbol ... sering kali ada yang adil sejumlah peluang untuk ini.)
Bagaimanapun, ketika dipetakan ke Rebol yang disingkat:
equal? a: to-string a unique a
Melemparkan beberapa tanda kurung untuk membantu mendapatkan inti dari urutan evaluasi:
equal? (a: (to-string a)) (unique a)
Jadi operator kesetaraan awalan diterapkan pada dua argumen - yang pertama hasil penugasan untuk a
versi string itu sendiri, dan yang kedua hasil unique
dijalankan terhadap string itu. Kebetulan yang unik akan memberi Anda kembali elemen dalam urutan yang sama dengan yang Anda lewati ... begitu unik dari "31214" adalah "3124" misalnya.
Jalankan dengan:
>> rebmu/args "e? AtsAuqA" 17308459
== true
Ada juga beberapa statistik dan informasi debug:
>> 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
Jika persyaratannya adalah seseorang harus mendefinisikan fungsi yang dinamai / digunakan kembali, Anda dapat membuat "A-function" yang secara implisit mengambil parameter bernama a with a|
. (Fungsi B akan dibuat dengan b|
dan mengambil parameter bernama A lalu yang bernama B). Jadi itu akan menambah lima karakter lagi ... katakanlah Anda memanggil fungsi "f"
Fa|[e? AtsAugA]
"Kamu tertawa! Mereka menertawakan Einstein! Atau tunggu ... kan? Aku ... tidak tahu."