Trong ngôn ngữ lập trình C , có các thành phần được gọi là sơ đồ và biểu đồ là các chuỗi hai và ba ký tự đánh giá các ký tự ít phổ biến hơn. Ví dụ: bạn có thể sử dụng ??-
nếu bàn phím của bạn không có ~
.
Đưa ra văn bản, thay thế tất cả các trường hợp của các bản vẽ và chữ viết sau (bên trái) bằng ký tự chính xác, ngắn hơn, được đánh golf (bên phải).
??= #
??/ \
??' ^
??( [
??) ]
??! |
??< {
??> }
??- ~
<: [
:> ]
<% {
%> }
%: #
Đầu vào
Đầu vào là văn bản ASCII. Trailing newline cho phép. Không cần phải là mã C hợp lệ.
Đầu ra
Đầu ra là cùng một văn bản, với tất cả các phiên bản của các bản vẽ và chữ viết trên được thay thế bằng phiên bản rút gọn, được đánh giá từ trái sang phải. Trailing newline cho phép. Không cần phải là mã C hợp lệ.
Các trường hợp thử nghiệm
=>
tách đầu vào và đầu ra.
if (true ??!??! false) { => if (true || false) {
??-arr.indexOf(n) => ~arr.indexOf(n)
function f(??) { console.log('test??'); } => function f(] { console.log('test^); }
/* comment :> :) *??/ => /* comment ] :) *\
%:What am I doing??!!??` => `#What am I doing|!??
??(??)??(??) <:-- not a palindrome => [][] [-- not a palindrome
?????????? => ??????????
int f(int??(??) a) ??< return a??(0??)??'a??(1??) + "??/n"; ??> => int f(int[] a) { return a[0]^a[1] + "\n"; }
??<:>??<% => {]{%
<:> => [>
<::> => []
:>> => ]>
#\^[]|{}~ => #\^[]|{}~
: > => : >
??=%: => ##
"??=%:"
là một trường hợp thử nghiệm liên quan: trong C, điều này có nghĩa là "#%:"
nơi %:
không phải là đặc biệt, nhưng tôi nghĩ rằng sản lượng dự kiến của bạn là "##"
.