问题标签 [structural-pattern-matching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.10 - 在 Python 3.10 中使用结构模式匹配匹配未知序列位置中的元素
是否有任何聪明的方法可以使用 Python 3.10 中的结构模式匹配来匹配未知长度序列中未知位置的元素?
下面是一个非工作示例,说明了我想做的事情。
如果您尝试使用保护子句,则不会捕获匹配项:
如果长度已知,则可以使用 or 模式,尽管它并不漂亮:
根据对有关结构模式匹配的其他问题的回答和评论,我预计会有很多回复告诉我,结构模式匹配不是适合这项工作的工具。我知道我的示例并没有展示为此使用结构模式匹配的好处,而不是像简单的 for 循环之类的东西,但想象一下解析由json.load()
. 无论如何,我的问题不是正确的工具是什么,而只是是否可以使用此工具完成。
python - 模式匹配以检查协议。获取 TypeError:调用的匹配模式必须是类型
python - 类模式匹配错误的情况
我正在编写一个对象序列化程序,但遇到类模式与预期情况不匹配的问题:
当我用一个元组调用dump_obj()时,它会在 I-case 上为 iterables 提供无限递归,而不是匹配 T-case 的元组。
当我用列表子类调用dump_obj()时,它匹配列表的 L-case 而不是 iterables 的预期 I-case。