我几周前接过J,大约在CodeGolf.SE测试版向公众开放的同时.
在那里使用J时经常出现的问题是重新格式化输入和输出以适应问题规范.所以我倾向于使用这样的代码:
( ] ` ('_'"0) ) @. (= & '-')
Run Code Online (Sandbox Code Playgroud)
这个因各种原因未经测试(编辑我错了); 意图是"转换-
为_
".还经常出现:将换行符转换为空格(和转换),合并数字j
,更改括号.
这会占用很多字符,并且不便于集成到程序的其余部分.
还有其他方法可以继续吗?最好是更短,但如果它有其他优点我很乐意学习其他任何东西.此外,具有隐含功能正面的解决方案可以减轻很多.
有时候使用库方法违反了代码高尔夫的本质,但在字符串库中,charsub方法非常有用:
'_-' charsub '_123'
-123
('_-', LF, ' ') charsub '_123', LF, '_stuff'
-123 -stuff
Run Code Online (Sandbox Code Playgroud)