该网站上的许多人都使用深奥的语言,并且由于这些语言不常见且难以理解,因此他们经常以某种格式编写说明。例如,如果代码是
abcdefghijklmnop
这些语言#
用于注释,他们会写一个这样的解释:
a #Explanation of what 'a' does
bc #Bc
d #d
e #Explanation of e
fgh #foobar
ij #hello world
k #etc.
l #so on
mn #and
op #so forth
我也经常这样做,但是每次这样做,我都觉得创建文本的布局确实令人讨厌且费时。因此,我希望您为我创建一个“ Esolang-Comment-Template-Generator”。例如,如果我们忽略注释,则先前的代码具有以下模板:
a #
bc #
d #
e #
fgh #
ij #
k #
l #
mn #
op #
挑战:
您必须编写一个将两个字符串作为输入并输出此“ Esolang-Comment-Template”的程序或函数。第一个输入将是代码,但是|
在换行符插入的位置插入了小节()。第二个输入是我们将用于评论的内容。因此,我们的最后一个示例将输入以下内容:
"a|bc|d|e|fgh|ij|k|l|mn|op", "#"
不幸的是,这将条形排除在代码输入之外,但这没关系。您可以假设注释输入将是单个字符。为了简单起见,注释字符将不是一个小节。输入的代码仅包含可打印的ASCII,并且不包含任何换行符。
希望您可以从测试用例中推断出要做什么,但我将尝试澄清一些事情。
您必须在每个栏中将代码输入分成“代码段”。然后,代码的每个部分都在其自己的行上输出,并用所有先前代码的长度(不包括小节)左填充。然后,在每行右边填充足够的空格,以使每行的最后两个字符为“一个额外的空格” +“注释字符”。
允许一个尾随换行符。
这是另一个例子。对于输入
"Hello|World", "/"
代码的第一部分是“ Hello”,第二部分是“ World”。所以它应该给出输出:
Hello /
World /
以下是一些示例:
Input:
"a|b|c|d|e|f|g", ","
Output:
a ,
b ,
c ,
d ,
e ,
f ,
g ,
Input:
"abcdefg", ":"
Output:
abcdefg :
Input:
"4|8|15|16|23|42", "%"
Output:
4 %
8 %
15 %
16 %
23 %
42 %
Input:
"E|ac|h s|ecti|on is| one c|haracte|r longer| than the| last!", "!"
Output:
E !
ac !
h s !
ecti !
on is !
one c !
haracte !
r longer !
than the !
last! !
Input:
"This|Code|has||empty||sections", "@"
Output:
This @
Code @
has @
@
empty @
@
sections @
规则:
您可以采用任何合理的格式获取这些输入和输出。例如,读取/写入文件,STDIN / STOUT,函数参数/返回值等。通常,这是code-golf,因此,请尝试使代码尽可能短,如果可以得到最短的解决方案,则可以获胜。用你的语言!我还将选择最短的解决方案作为总冠军。禁止出现标准漏洞。
|
角色的情况下成功做到了,那就会很不错,所以您可以自己解释一下
|
)吗?