我可以在 where 子句中使用 or ( || ) 吗?

2024-05-09

我正在尝试延长Array类型,但我只希望类型为时可用的函数Int or Float.

我知道我可以针对一种类型执行此操作:

extension Sequence where Iterator.Element == Int { }

但我可以对多种类型执行此操作吗?这就是我想要的:

extension Sequence where Iterator.Element == Int || Iterator.Element == Float { }

有可能做到这一点吗?


这在概念上实际上行不通。在扩展中使用 where 允许您使用 Element 作为您指定的类型。如果您说它可以是多种类型,那么您可能根本没有 where 说明符。

如果您希望为多种类型添加特定功能,我建议您创建一个空协议并添加对所需类型的遵守。例如:

protocol WorksWithExtension { }

extension Int: WorksWithExtension { }
extension Float: WorksWithExtension { }

extension Sequence where Iterator.Element: WorksWithExtension {
    //Do whatever you need to do here
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 where 子句中使用 or ( || ) 吗? 的相关文章

随机推荐

  • 新的 Windows 应用程序 - 什么语言?

    我们目前正处于开发 Windows 桌面应用程序的前期阶段 但当听到有关 Windows 8 Silverlight WPF Jupiter 的所有最新讨论时 我不知道该相信什么了 现在用WPF启动一个新项目是不是有问题 我应该切换到 Si
  • 检查多个位置的值并仅在源唯一时返回匹配项

    假设我有一个清单Vendors 阿斯达 乐购 Spar 我有一个清单Sources 或者这个类比中的供应商 家乐氏 Kellogg 吉百利 Cadbury 雀巢 Nestle 强生 Johnsons 帮宝适 Pampers Simple 等
  • Git推送更新远程服务器信息失败

    当我尝试将新分支推送到远程源时 出现以下错误 我能够在现有分支上推送提交 并且现有分支上没有问题 git push u origin master1 Fetching remote heads refs refs tags refs hea
  • Ajax 将文件上传到内容类型为 Multipart 的 GoLang 服务器

    我正在尝试使用多部分表单将音频文件上传到 Golang 服务器 然而 Go 返回错误 multipart NextPart bufio buffer full 我相信这表明我的 Javascript 请求中存在不属于多部分格式的内容 这是我
  • Java 中的递归下降解析器

    我想在序言中说这是我三年级编程语言课的家庭作业 我正在寻求一些帮助 我的作业如下 截止日期 2013年2月22日晚上11点55分提交 请将以下内容上传到CMS 1 源代码2 程序执行的屏幕截图 包括您使用的输入文件 使用您喜欢的任何编程语言
  • Firebase 云消息传递 requireInteraction 不起作用

    参考 https github com firebase quickstart js tree master messaging https github com firebase quickstart js tree master mes
  • 调整双 JTable 中列大小的问题

    我正在创建一个包含 2 个 JTable 的自定义组件 一个作为主数据网格 另一个作为始终可见的摘要栏 我已经提出了这个解决方案 但是调整列大小并没有按应有的方式工作 任何想法我做错了什么 import java awt BorderLay
  • C 编程:正向变量参数列表

    我正在尝试编写一个函数 它接受可变数量的参数 如 printf 执行一些操作 然后将变量列表传递给 printf 我不知道如何做到这一点 因为它似乎必须将它们推入堆栈 大约是这样的 http pastie org 694844 http p
  • C++ 中的默认初始化

    我有一个关于 C 中默认初始化的问题 我被告知非 POD 对象将自动初始化 但我对下面的代码感到困惑 为什么当我使用指针时 变量 i 被初始化为 0 但是当我声明局部变量时 却不是 我使用 g 作为编译器 class INT public
  • 异步任务、视频缓冲

    我正在尝试理解 C 中的任务 但仍然遇到一些问题 我正在尝试创建一个包含视频的应用程序 主要目的是从文件中读取视频 我使用 Emgu CV 并通过 TCP IP 发送它以在板上进行处理 然后以流 实时 方式返回 首先 我是连续做的 所以 读
  • 在 JavaScript 中从字符串的开头到结尾删除 HTML 内容组

    我需要一个可以从头到尾删除完整标签的正则表达式 例如 对于给定的字符串 var str Hello World 我需要一个输出 Hello World with full script tag including inner content
  • Html 文本输入撤消不起作用

    我遇到一个问题 html 文本框和文本区域的撤消功能 ctrl z 和右键单击 gt 撤消 被禁用 这种情况发生在 ASP NET 生成的页面上 其中包含大量 Silverlight JavaScript JQuery 和 Ajax 大约
  • 响应式图像悬停 - CSS/JQuery

    我按照这个教程 http mattbango com notebook code hover zoom effect with jquery and css http mattbango com notebook code hover zo
  • 尝试映射大页面 (1GB) 时 mmap 失败

    我做了什么 使用 root 启用大页 我的系统支持 1MB 大页 echo 20 gt proc sys vm nr hugepages 将大页文件系统挂载到 mnt hugepages mount t hugetlbfs nodev mn
  • 如何在node.js中使用window.sessionstorage

    我使用 JavaScript 将哈希存储在会话存储中 如下所示 window sessionStorage setItem test true 如何使用 node js 读取此密钥 你不知道 会话存储 https developer moz
  • Scala:获取 Map.head 元素的键(和值)

    让我们想象一下以下不可变的 Map val foo Map 10 ten 100 one hundred 我想获得第一个元素的密钥 foo head获取第一个元素 但接下来呢 我还想要这个元素的值 即 十 设置键 值对 val key va
  • 使用 href 和 php 从 sql 数据库对 html 表进行排序

    我有一个 html 表 其中包含来自 php 吐出的 sql 表的产品数据 我想通过单击表列的标题对数据进行排序 我像这样输出我的表 php product list sql mysql query SELECT FROM products
  • 如何转发元组的类型以专门化其他模板?

    目前我正在研究一种动态容器结构 它表示一个 pod 值或具有相同容器类型的指针向量 容器有一个接口optional
  • 跳过在 Chrome 中不起作用的链接

    首先 我看过上一个问题 https stackoverflow com questions 3572843 skip navigation link not working in google chrome但遗憾的是它似乎没有提供任何解决方
  • 我可以在 where 子句中使用 or ( || ) 吗?

    我正在尝试延长Array类型 但我只希望类型为时可用的函数Int or Float 我知道我可以针对一种类型执行此操作 extension Sequence where Iterator Element Int 但我可以对多种类型执行此操作