首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们有什么发现?

我们有什么发现?
EN

Code Golf用户
提问于 2019-02-19 11:26:42
回答 1查看 1.2K关注 0票数 19

是受我们敬爱的天才,

的启发,也是为了纪念他

R.I.P.

发明并实现了dfns --他的巨著和挑战的主题。

对于感兴趣的人:最新的dfns文档与约翰的录像

任务

给定ASCII源代码,回答它属于以下四类中的哪一类:

  1. 并矢dop
  2. 一元dop
  3. Dfn
  4. 其他

您可以返回任意四个一致的值,但如果不明显,请说明您的映射。

详细信息

您可能会假设,源代码总是以开头的大括号{开头,以结束的大括号}结尾。

可以出现递归嵌套大括号(例如{{{}}}),但类别1-3的支撑嵌套深度永远不能低于1(所以{}{}是“其他”),所有的大括号必须是平衡的(因此{{}是“其他”)。

忽略行上下列上下文中的字符:

  1. #的右边(注释):significant#ignored
  2. 以单引号括起来'' (即字符串中的):significant'ignored'significant (这也适用于#'#'significant)
  3. 在未配对引号的右边,' (左边的配对引号):significant'ignored

在花括号一级(即不包括嵌套大括号):

  • 二进dops包含不间断短语ww
  • 一元dops不包含ww,但包含aa
  • Dfns既不包含ww也不包含aa

测试用例

二进dops

代码语言:javascript
运行
复制
{ww}
代码语言:javascript
运行
复制
{
    www
}
代码语言:javascript
运行
复制
{
''ww'
}
代码语言:javascript
运行
复制
{aa

ww}
代码语言:javascript
运行
复制
{'#''#'ww?aa}

一元dops

代码语言:javascript
运行
复制
{aa}
代码语言:javascript
运行
复制
{aaaa}
代码语言:javascript
运行
复制
{aa{ww}'ww'}
代码语言:javascript
运行
复制
{w#w'
aa'
}
代码语言:javascript
运行
复制
{aaw*w}
代码语言:javascript
运行
复制
{w'\'aa\''}

Dfns

代码语言:javascript
运行
复制
{}
代码语言:javascript
运行
复制
{a a}
代码语言:javascript
运行
复制
{aA}
代码语言:javascript
运行
复制
{
{aa}
}
代码语言:javascript
运行
复制
{w
w''w#
w}
代码语言:javascript
运行
复制
{{
}}
代码语言:javascript
运行
复制
{w\'aa\'}

其他

代码语言:javascript
运行
复制
{}{}
代码语言:javascript
运行
复制
{{}
代码语言:javascript
运行
复制
{}}
代码语言:javascript
运行
复制
{ww}}
代码语言:javascript
运行
复制
{}
{}
代码语言:javascript
运行
复制
{ww}{}
代码语言:javascript
运行
复制
{#}
代码语言:javascript
运行
复制
{'
'}
EN

回答 1

Code Golf用户

发布于 2019-02-21 19:36:15

视网膜0.8.2,91字节

代码语言:javascript
运行
复制
m`'.*?('|$)|#.*
¶
s(+`(?!^)\{[^{}]*\}(?!$)
¶
^(?!\{[^{}]*\}$).+
3
^.+ww.+
2
^.+aa.+
1
..+
0

在网上试试!链接包括测试套件。解释:

代码语言:javascript
运行
复制
m`'.*?('|$)|#.*
¶

删除字符串和注释。

代码语言:javascript
运行
复制
s(+`(?!^)\{[^{}]*\}(?!$)
¶

删除匹配的括号,从最里面的工作,但保留第一个和最后的括号。

代码语言:javascript
运行
复制
^(?!\{[^{}]*\}$).+
3

如果我们没有匹配的括号,那么这是另外一个。

代码语言:javascript
运行
复制
^.+ww.+
2

否则,如果我们有ww,那么这就是并矢Dop。

代码语言:javascript
运行
复制
^.+aa.+
1

否则,如果我们有aa,那么这就是Monadic Dop。

代码语言:javascript
运行
复制
..+
0

否则,如果这是上面没有涵盖的任何内容,那么这就是Dfn。

票数 0
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/180134

复制
相关文章

相似问题

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