Rebmμ (10 ký tự)
e? AtsAuqA
Thủ thuật "nham nhở" của Rebmu là nó không phân biệt chữ hoa chữ thường, vì vậy các nhân vật được chạy cùng nhau. Bất cứ khi nào một chuyển đổi trường hợp được nhấn, nó sẽ phân chia thành mã thông báo tiếp theo. Bằng cách sử dụng các hiệu ứng chuyển tiếp thay vì một loại điều của CamelCase, lựa chọn duy nhất để bắt đầu với việc chạy vốn có nghĩa là "từ đặt" được thực hiện. (Mặc dù các từ được đặt có thể được sử dụng cho các mục đích khác trong lập trình tượng trưng, chúng được đánh giá là các bài tập theo mặc định).
Vì vậy, "unmushes" này để:
e? a: ts a uq a
Không gian là cần thiết bởi vì một khi bạn đã bắt đầu một loạt các trường hợp xen kẽ, bạn không thể sử dụng thủ thuật đó để có được một từ được đặt sau lần đầu tiên trừ khi bạn bắt đầu một lần chạy mới. Vì vậy, e?AtsAuqA
sẽ có được bạn e? a ts a uq a
... không có nhiệm vụ.
(Lưu ý: Vì lý do có thể không có lý do đặc biệt tốt, tôi có xu hướng thích suy nghĩ lại các giải pháp để không có khoảng trắng, nếu số ký tự bằng nhau. Vì dấu ngoặc, dấu ngoặc đơn và chuỗi kết thúc một ký hiệu ... thường có một công bằng số cơ hội cho việc này.)
Trong mọi trường hợp, khi được ánh xạ tới Rebol, nó viết tắt:
equal? a: to-string a unique a
Ném vào một số dấu ngoặc đơn để giúp có được ý chính của thứ tự đánh giá:
equal? (a: (to-string a)) (unique a)
Vì vậy, toán tử đẳng thức tiền tố được áp dụng cho hai đối số - kết quả đầu tiên của việc gán cho a
phiên bản chuỗi của chính nó và kết quả thứ hai của unique
việc chạy theo chuỗi đó. Điều đó xảy ra rằng sự độc đáo sẽ cung cấp cho bạn các yếu tố theo cùng thứ tự bạn đã vượt qua chúng ... vì vậy, duy nhất của "31214" là "3124" chẳng hạn.
Chạy nó với:
>> rebmu/args "e? AtsAuqA" 17308459
== true
Ngoài ra còn có một số thống kê và thông tin gỡ lỗi:
>> 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
Nếu yêu cầu là người ta phải xác định một hàm được đặt tên / tái sử dụng, bạn có thể tạo một "Hàm A", mặc nhiên lấy tham số có tên là a với a|
. (Hàm B sẽ được tạo b|
và lấy tham số có tên A rồi đến tên B). Vì vậy, nó sẽ thêm năm ký tự nữa ... giả sử bạn gọi hàm là "f"
Fa|[e? AtsAugA]
"Bạn cười! Họ đã cười với Einstein! Hay chờ đợi ... phải không? Tôi ... không biết."