小编Drd*_*yor的帖子

有没有办法使用 python 的“match”语句来测试 Iterable 是否包含模式?

这与新的 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

7
推荐指数
1
解决办法
1068
查看次数

Kotlin 协程有颜色吗?

关于许多语言的异步编程模型状态的著名文章指出,它们存在“颜色”问题,特别是将生态系统分为两个独立的世界:异步和非异步。以下是这种语言的属性:

  • 每个函数都有一个颜色,红色或蓝色(例如async def
  • 调用函数的方式取决于它的颜色(例如await
  • 您只能从另一个红色函数中调用红色函数SyntaxError: 'await' outside async function
  • 红色函数调用起来更痛苦(这个想法是,如果您决定将函数设为红色,那么使用您的 API 的每个人都会想在您的咖啡中吐口水和/或在其中放入一些更不咸味的液体)
  • 一些核心库函数是红色的,所以你无法避免红色函数

Kotlin 是相当新的语言,所以我认为我应该研究一下它的异步模型。然而,Kotlin 会转换为 JavaScript,所以我相信它存在的颜色问题比我认为它没有的问题要多。但它的协程对我来说有点难以理解并且感到困惑,所以我在这里问这些属性中哪些对于 Kotlin 来说是正确的?(以及它解决了多少颜色问题)

asynchronous kotlin kotlin-coroutines

3
推荐指数
1
解决办法
608
查看次数

为什么带有 v-if 的元素内的过渡不进入过渡但离开有效?

标题几乎解释了一切。我在 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)

javascript vue.js vuejs2 vue-transitions

2
推荐指数
1
解决办法
1万
查看次数