小编Phy*_*dit的帖子

Scala中的括号匹配---功能方法

假设我想解析一个带有各种开括号和右括号的字符串(我在标题中使用了括号,因为我认为它更常见 - 但问题仍然相同),这样我就可以在列表中分隔所有更高级别.

鉴于:

[hello:=[notting],[hill]][3.4(4.56676|5.67787)][the[hill[is[high]]not]]
Run Code Online (Sandbox Code Playgroud)

我想要:

List("[hello:=[notting],[hill]]", "[3.4(4.56676|5.67787)]", "[the[hill[is[high]]not]]")
Run Code Online (Sandbox Code Playgroud)

我这样做的方法是计算开始和结束括号,并在我将计数器设置为0时添加到列表中.但是,我有一个丑陋的命令性代码.您可以假设原始字符串格式正确.

我的问题是:对于这个问题,什么是一个很好的功能方法?

注意:我曾考虑过使用for ... yield结构,但是考虑到计数器的使用我不能得到一个简单的条件(我必须有条件只是为了更新计数器)而且我不知道如何使用它在这种情况下构建.

functional-programming scala

8
推荐指数
1
解决办法
2901
查看次数

标签 统计

functional-programming ×1

scala ×1