Chuyển đổi câu trả lời TIO thành câu trả lời CMC


24

Hãy để một lần làm điều gì đó hữu ích.

Được cung cấp văn bản từ bản đệ trình mã hóa Thử trực tuyến, hãy tạo bản đệ trình Trò chuyện thử thách tương đương, có dạng

Language, N bytes: [`code`](URL)

hoặc (nếu đệ trình là một byte đơn - TIO sẽ thêm một dấu ở trên dòng đầu tiên nếu cần)

Language, 1 byte: [`code`](URL)

Bạn có thể cho rằng trình

  • chỉ có một dòng
  • không chứa backticks ( `)
  • không có khoảng trắng hàng đầu
  • có một định dạng thông thường như trong các ví dụ dưới đây; dòng code được thụt vào với bốn không gian ( ), không phải với HTML tags ( <pre><code>... </code></pre>), tức là không có dấu khoảng trắng.

Lưu ý rằng việc gửi có thể có một thẻ đánh dấu cú pháp. Xem ví dụ cuối cùng.

Bạn có thể tùy ý bao gồm văn bản tiêu đề, tức là …url "Language - Try It Online".

Ví dụ

Được

# [05AB1E], 1 byte

    Ô

[Try it online!][TIO-j3v72bss]

[05AB1E]: https://github.com/Adriandmen/05AB1E
[TIO-j3v72bss]: https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA "05AB1E – Try It Online"

trở về

05AB1E, 1 byte: [`Ô`](https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA)

hoặc là

05AB1E, 1 byte: [`Ô`](https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA "05AB1E – Try It Online")

Được

# [Brachylog], 4 bytes

    ḅhᵐc

[Try it online!][TIO-j3v75978]

[Brachylog]: https://github.com/JCumin/Brachylog
[TIO-j3v75978]: https://tio.run/##SypKTM6ozMlPN/r//@GO1oyHWyck//@vlJGampOTDwZK/6MA "Brachylog – Try It Online"

trở về

Brachylog, 4 bytes: [`ḅhᵐc`](https://tio.run/##SypKTM6ozMlPN/r//@GO1oyHWyck//@vlJGampOTDwZK/6MA)

Được

# [APL (Dyalog Unicode)], 15 bytes

<!-- language-all: lang-apl -->

    ⍴⍨¨⍳

[Try it online!][TIO-j44jgrps]

[APL (Dyalog Unicode)]: https://www.dyalog.com/
[TIO-j44jgrps]: https://tio.run/##AScA2P9hcGwtZHlhbG9n//9m4oaQ4o204o2owqjijbP//zcxNjDijLZmIDQ "APL (Dyalog Unicode) – Try It Online"

trở về

APL (Dyalog Unicode), 15 bytes: [`⍴⍨¨⍳`](https://tio.run/##AScA2P9hcGwtZHlhbG9n//9m4oaQ4o204o2owqjijbP//zcxNjDijLZmIDQ)

Chúng ta có thể giả sử tên ngôn ngữ không chứa a ]?
Sản phẩm ETH

2
Không có tên ngôn ngữ trên TIO ]mặc dù.
Rò rỉ Nun

Đúng, tôi đoán thế. Chúng ta có thể cho rằng câu trả lời không có khoảng trắng hàng đầu nào không?
Sản phẩm ETH

@ETHproductions Có, bởi vì nếu không thì backticks sẽ không hoạt động. Tôi sẽ chỉnh sửa.
Adám

4
Code golf rất hữu ích _ಠ
Conor O'Brien

Câu trả lời:


6

V , 37 , 35 byte

ç^</dj
H3xf]x3Ji[`A`]Jd2/: 
xr(A)

Hãy thử trực tuyến!


Tôi đã thử sử dụng plugin bao quanh có dạng V, nhưng nó vẫn giữ khoảng trắng ở cuối, điều mà tôi nghĩ là không đủ điều kiện.
nmjcman101

Tôi có thể làm phiền bạn để thêm hỗ trợ cho thẻ đánh dấu cú pháp không?
Adám

@ nmjcman101 Umm, tôi nghĩ bạn có thể cho rằng khoảng trắng ở cuối không tồn tại.
Erik the Outgolfer

1
@ Adám Chà, điều đó có vẻ như thay đổi thông số kỹ thuật ở giữa, nhưng tôi đoán tôi có thể hỗ trợ nó.
DJMcMayhem

1
@ nmjcman101 Vâng, tôi đã biết về sự khác biệt giữa ys$[ys$], nhưng vì chúng ta đang bao quanh nó với backticks ngoặc, nên thực sự ngắn hơn khi chỉ đưa chúng vào bằng tay.
DJMcMayhem

4

Python 3 , 113 103 98 91 byte

-1 byte nhờ vào Ink Ink.

Nếu bạn có thể, tôi hoàn toàn có thể sử dụng một số trợ giúp với regex. > <

lambda s:re.sub('(?s)# .(.*)](.*?)\n.* {4}(.*?)\n.+: (.*)',r'\1\2: [`\3`](\4)',s)
import re

Hãy thử trực tuyến!


Tôi có thể làm phiền bạn để thêm hỗ trợ cho thẻ đánh dấu cú pháp không?
Adám

Cảm ơn rất nhiều. Xin lỗi vì điều đó.
Adám

Không cần sử dụng \sđể khớp với phần khối mã; thay thế nó bằng một nhân vật không gian theo nghĩa đen. Ngoài ra, đầu ra dự kiến ​​không có "Language - Try It Online"phân khúc, vì vậy bạn cần thay đổi nhóm cuối cùng của mình (\S*)để khớp chính xác, do đó, số byte xuất hiện xung quanh giống nhau.
Mực giá trị

Trên thực tế, hóa ra bạn có thể giữ phần Dùng thử trực tuyến đó. Trong trường hợp đó, thay đổi \sthành một khoảng trắng sẽ tiết kiệm được 1 byte.
Mực giá trị

Yup, tôi là người đã hỏi câu hỏi đó. ;)
hoàn toàn là con người

3

JavaScript (ES6), 73 byte

f=
s=>s.replace(/...(.*)](.*)[^]+    (.*)[^]+: (.*) ".*/,"$1$2: [`$3`]($4)")
<textarea rows=8 cols=75 oninput=o.textContent=this.value==f(this.value)?``:f(this.value)></textarea><pre id=o>


Câu trả lời tôi đang chờ đợi. Điều này có thể được thực hiện thành một bookmarklet? Nếu không tôi sẽ chỉ đánh dấu nó.
Adám

@ Adám alert(prompt().replace(...))có thể hoạt động, nếu lời nhắc sẽ cho phép bạn dán nhiều dòng theo một cách nào đó (regrec không thực sự cần các dòng mới để hiện diện).
Neil

Hừm, tôi nhận được bài không thay đổi như kết quả. Có lẽ chúng tôi có thể tiêm mã của bạn vào TIO Ngày
Adám

Tôi cũng đang nghiên cứu một giải pháp tương tự, nhưng tôi không biết phải làm gì [^]để phù hợp với bất cứ điều gì . Tôi đã học được một cái gì đó mới từ giải pháp của bạn. Cảm ơn!
Arjun

3

Võng mạc , 54 48 52 57 48 byte

Đã lưu 1 byte nhờ @MartinEnder, 1 byte nhờ @Riley

...(.+)[^@]+    (.+)[^@]+: 
$1: [`$2`](
1`]

$
)

Hãy thử trực tuyến! Điều này giả định rằng sẽ không có một @tên ngôn ngữ, sẽ ổn thôi ...


bạn chỉ có thể thay thế ^# \[bằng ^...tôi nghĩ
Martin Ender

@MartinEnder Cảm ơn, tôi nghĩ rằng nó hoạt động ...
Sản phẩm ETH

Bạn có thể bỏ qua ^$? Nó phải luôn luôn phù hợp với toàn bộ chuỗi.
Riley

@Riley Điều đó sẽ thất bại nếu ... oh bắn, tôi cũng vậy ...
Sản phẩm ETH

Điều này không hoạt động nếu mã chứa <space>", nhưng tôi không biết nếu bạn cần xử lý nó. Tôi đoán bạn chỉ nhận thấy rằng.
Riley

3

05AB1E , 50 byte

']¡J¦¦¦|J|`‚ʒнðQ}`ðÛ|D`θ'"Êi\|ë\}θ#1èr"ÿ: [`ÿ`](ÿ)

Hãy thử trực tuyến!

Bây giờ cũng hỗ trợ đánh dấu cú pháp!

нđược thay thế bởi θđược thay thế bởi ®èvì những người chưa được kéo đến TIO.

Tôi chỉ tự hỏi làm thế nào để rút ngắn ¦¦¦...



2

MATLAB / Octave , 120 126 byte

@(a)strjoin(regexprep(strsplit(a,'\n'),{'\[.+\]: (.+) ".+','^[\[<].+','# \[(.+)\](.+)','^ +'},{'`]($1)','','$1$2: [`',''}),'')

Điều này nên làm việc. Đối với MATLAB, nó sẽ không hoạt động với các ký tự Unicode mặc dù tôi không nghĩ, chủ yếu là do MATLAB hút khi nói đến các ký tự lẻ. Tuy nhiên, nó sẽ hoạt động với Unicode cho Octave hoặc ít nhất TIO dường như có thể đối phó.

Nó cũng nên xử lý đệ trình cả có và không có <-- -->tô sáng cú pháp.

Cập nhật :

  1. Đã thêm 4 byte khi tôi bỏ lỡ @(a)khi sao chép qua
  2. Đã thêm 2 byte để thêm dấu tick xung quanh mã trong đầu ra

Hãy thử trực tuyến!


Điều này có thể được chạy trên TIO Octave ?
Adám

@ Adám nó thực sự. Tôi đã cập nhật câu trả lời với liên kết TIO.
Tom Carpenter



0

Pip , 43 39 38 byte

[a@>3DC']": [`"g@-6|>s"`]("(g@v^s1)')]

Hãy thử trực tuyến!

Lấy các dòng làm đối số dòng lệnh riêng biệt. Một lời mời ví dụ có thể trông giống như:

> pip.py -f convert.pip "# [05AB1E], 1 byte" "" "    Ô" "" "[Try it online!][TIO-j3v72bss]" "" "[05AB1E]: https://github.com/Adriandmen/05AB1E" "[TIO-j3v72bss]: https://tio.run/##MzBNTDJM/f//8JT//zNSgSAnJycfDAA \"05AB1E – Try It Online\""

mặc dù thực tế điều này không phù hợp với tôi vì Windows cmdphàn nàn về Ô... [lẩm bẩm]

- Bất cứ giá nào, nó hoạt động trên TIO. Hoặc, sử dụng -rcờ và lấy đầu vào từ dòng stdin thay thế.

Giả sử rằng tên ngôn ngữ sẽ không chứa ] (dù sao cũng sẽ phá vỡ đánh dấu).

Giải trình

                                        g is list of cmdline args; a is 1st arg;
                                        s is space; v is -1 (implicit)
[                                    ]  Build a list with these elements:
 a@>3                                    1st line, sans first three characters,
     DC']                                 with the ] character deleted
         ": [`"                          This string
               g@-6                      6th line from the end (the code)
                   |>s                    with leading spaces stripped
                      "`]("              This string
                            g@v          Last line (containing the URL)
                               ^s         split on spaces
                           (     1)       get element at index 1
                                   ')    This character
                                        By default, the list is concatenated and printed
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.