我进入一个参数超过上SuperUser.com 也没用答案,发现自己挑战其他海报回答brainfuck问题。他没有带我上去就可以了,但现在我很好奇。

所有程序需要做的是转换CRLF行结束到LF(DOS样式到UNIX)。周围的任何BF编码器可以帮帮忙?

有帮助吗?

解决方案

在这里你去:

,[[->+>+<<]>>>,[<-------------[+++++++++++++.>>>]<[>>----------[>+++++++++++++.-------------]<++++++++++>]<<<<[-]>>>[-<<<+>>>]]<[-]<[-]<]++++++++++.

假设条件是EOF是由为0的输入值指示(这是对牛肉的默认值,即我用于测试,并且是合理的选择;我认为它也可能支持EOF离开字符不变,但是我没有” t检验这一点)。还假定该文件带有LF(实际上,它取代LF的最后一个字符)结束。处理CR正确如果不是CRLF对部分(也就是,它输出孤CRS)。

也许了一个小时来编写和测试,这包括从一开始学习Brainfuck。

其他提示

这是一个相当短一点,只是41个字符。

,[[->+>+<<]>-------------[>.<[-]]>[-]<<,]

它读取一个值转换成[0]。它复制的读取值变成[1]和[2]和减去从13 [1]。如果一个[1]是非零(意味着它不是一个CR),它把一个[2],并清除一个[1]。然后它清除一个[2],并读取到[0]和再次重复。

这具有附加的优点 - 由于一个[0] = 0它读取每一次叶 - 它应该支持读EOF为0或治疗EOF为“无变化” BF虚拟机,这两者都是常见的。

由于这不替换LF CRLF对而只是条CR,这不依赖于假定文件与LF结束。我自己的DOS2UNIX的测试(至少在Cygwin之一)并不表示孤的CR被保留。

略短,更简单的CR-汽提塔:

,[-------------[+++++++++++++.[-]],]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top