首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将dos2unix端口连接到brainfuck

将dos2unix端口连接到brainfuck
EN

Stack Overflow用户
提问于 2009-10-07 15:12:40
回答 3查看 1.2K关注 0票数 19

我进入了一个关于无用答案的argument over on SuperUser.com,发现自己在挑战另一个帖子,让他们用脑筋急转弯的方式回答这个问题。他没有接受我,但现在我很好奇。

所有的程序需要做的就是将CRLF行尾转换为LF (dos样式到unix)。周围有什么bf程序员可以帮上忙吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-07 21:28:14

这就是了:

代码语言:javascript
运行
复制
,[[->+>+<<]>>>,[<-------------[+++++++++++++.>>>]<[>>----------[>+++++++++++++.-------------]<++++++++++>]<<<<[-]>>>[-<<<+>>>]]<[-]<[-]<]++++++++++.

假设EOF由输入值0表示(这是我用来测试的牛肉的默认值,这是一个合理的选择;我认为它也可能支持EOF保持字符不变,但我没有测试它)。还假设文件以LF结尾(实际上,它将最后一个字符替换为LF)。如果不是CRLF对的一部分,则正确处理CR (即,它输出单独的CR)。

可能花了一个小时来编写和测试,这包括从一开始就学习Brainfuck。

票数 24
EN

Stack Overflow用户

发布于 2009-10-08 23:42:32

这太短了,只有41个字符。

代码语言:javascript
运行
复制
,[[->+>+<<]>-------------[>.<[-]]>[-]<<,]

它将一个值读入a中,并将读取的值复制到a1和a2中,然后从a1中减去13。如果a1为非零(意味着它不是CR),则将a2置入并清除a1。然后,它清除a2,并再次读取并重复。

这还有一个额外的优点,那就是--因为每次读取都会离开a=0 --它应该支持将EOF读为0或将EOF视为“无更改”的BF虚拟机,这两种情况都很常见。

由于这不会将CRLF对替换为LF,而只是剥离CR,这并不依赖于假设文件以LF结尾。我自己使用dos2unix (至少是Cygwin的)进行的测试并没有表明单独的CRs会被保留。

票数 25
EN

Stack Overflow用户

发布于 2015-08-01 22:48:57

略短和更简单的CR-stripper:

代码语言:javascript
运行
复制
,[-------------[+++++++++++++.[-]],]
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1532266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档