这与新的 Python 3.10 beta 和新语法有关match
。有没有什么方法可以检查模式是否简单地包含在可迭代中?最明显的解决方案是简单地在两侧放置两个通配符,但这会SyntaxError
由于来自可迭代解包的解包语法而引发。
有没有可能的方法来做到这一点?注意:在示例中使用包装类之类的东西numbers
就可以了,只要它可以使用匹配块并且至少具有一定的可读性,但我已经尝试过这一点,但没有取得太大成功
例子:
numbers = [1, 2, 3, 5, 7, 8, 9] #does not have to be a list, could be a class if needed
match numbers:
# this just raises a SyntaxError, but I need a way to do something equivalent to this
case [*_, (5 | 6), *_]:
print("match!")
Run Code Online (Sandbox Code Playgroud) python iterable iterable-unpacking python-3.10 structural-pattern-matching
关于许多语言的异步编程模型状态的著名文章指出,它们存在“颜色”问题,特别是将生态系统分为两个独立的世界:异步和非异步。以下是这种语言的属性:
async def
)await
)SyntaxError: 'await' outside async function
Kotlin 是相当新的语言,所以我认为我应该研究一下它的异步模型。然而,Kotlin 会转换为 JavaScript,所以我相信它存在的颜色问题比我认为它没有的问题要多。但它的协程对我来说有点难以理解并且感到困惑,所以我在这里问这些属性中哪些对于 Kotlin 来说是正确的?(以及它解决了多少颜色问题)。
标题几乎解释了一切。我在 StackOverflow 上搜索了解决方案,但都没有 帮助。
使用经典模态组件的示例:
Vue.component('modal', {
template: `
<transition name="modal">
<div class="modal-wrapper">
<div class="modal-dialog">
<slot></slot>
</div>
</div>
</transition>
`,
})
const app = new Vue({
el: '#app',
data: {
showModal: false,
},
})
Run Code Online (Sandbox Code Playgroud)
/* transition */
.modal-enter-active,
.modal-leave-active {
transition: opacity .5s;
}
.modal-enter,
.modal-leave-to {
opacity: 0;
}
.modal-wrapper {
position: absolute;
left: 0; right: 0;
top: 0; bottom: 0;
display: flex;
justify-content: center;
align-items: center;
background: rgba(0, 0, 0, .25);
}
.modal-dialog {
max-width: 90%; …
Run Code Online (Sandbox Code Playgroud)asynchronous ×1
iterable ×1
javascript ×1
kotlin ×1
python ×1
python-3.10 ×1
structural-pattern-matching ×1
vue.js ×1
vuejs2 ×1