//
//  main.swift
//  Ultimate
//
//  Created by Mewlan Musajan on 4/26/21.
//
//Excerpt From: Apple Inc. “The Swift Programming Language (Swift 5.3).” Apple Books. https://books.apple.com/us/book/the-swift-programming-language-swift-5-3/id881256329func findIndex(ofString valueToFind: String, in array: [String]) -> Int? {for (index, value) in array.enumerated() {if value == valueToFind {return index}}return nil
}let someArrayToFindIndex = ["apple", "banana", "cush", "donat"]
if let someIndex = findIndex(ofString: "alma", in: someArrayToFindIndex) {print(someIndex)
} else {print("404 Not Found")
}func findAnyTypeOfIndex<T: Equatable>(of valueToFind: T, in array:[T]) -> Int? {for (index, value) in array.enumerated() {if value == valueToFind {return index}}return nil
}let someIntValues = [1, 2, 3, 4, 5]
if let intValue = findAnyTypeOfIndex(of: 2, in: someIntValues) {print(intValue)
}protocol  Container {associatedtype Itemmutating func append(_ item: Item)var count: Int { get }subscript(i: Int) -> Item { get }
}struct  IntStack: Container {var items = [Int]()mutating func push(_ item: Int) {items.append(item)}mutating func pop() -> Int {return items.removeLast()}typealias Item = Intmutating func append(_ item: Int) {self.push(item)}var count: Int {return items.count}subscript(i: Int) -> Int {return items[i]}}struct  Stack<Element>: Container {var items = [Element]()mutating func push(_ item: Element) {items.append(item)}mutating func pop() -> Element {return items.removeLast()}mutating func append(_ item: Element) {self.push(item)}var count: Int {return items.count}subscript(i: Int) -> Element {return items[i]}
}extension Array: Container{}extension Container {func average() -> Double where Item == Int {var sum = 0.0for index in 0..<count {sum += Double(self[index])}return sum / Double(count)}func endsWith(_ item: Item) -> Bool where Item: Equatable {return count >= 1 && self[count-1] == item}
}
let numbers = [1260, 1200, 98, 37]
print(numbers.average())
print(numbers.endsWith(37))

alright alright alright相关推荐

  1. seq2seq与Attention机制

    学习目标 目标 掌握seq2seq模型特点 掌握集束搜索方式 掌握BLEU评估方法 掌握Attention机制 应用 应用Keras实现seq2seq对日期格式的翻译 4.3.1 seq2seq se ...

  2. python中的下划线_Python中的下划线详解

    这篇文章讨论Python中下划线_的使用.跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定. 一. 单个下划线直接做变量名(_) 主要有三种情况: 1. 解释器中 _ ...

  3. 详解Python中的下划线

    本文将讨论Python中下划线(_)字符的使用方法.我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已. 单下划线(_) 通常情况下,会在以下3种场景中使用 ...

  4. python中单下划线_foo与双下划线_Python中单下划线和双下划线

    什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法. 对于我来 ...

  5. 英语语音篇 - 拼读规则

    文章目录 连音(辅音结尾+元音开头) 加音(元音结尾+元音开头(an,/w/,/j/,/r/)) 同化&异化 同化 异化 省音 缩读 弱读 节奏 语调 总结 连音(辅音结尾+元音开头) A r ...

  6. python怎么打下划线符号_详解 Python 中的下划线命名规则

    在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后--那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单 ...

  7. Second season seventh episode,Ross finds out Rachel like him,what will he do???

    [Scene: Monica and Rachel's apartment. Everyone is sitting at the couches, Chandler enters.] CHAN: O ...

  8. python下划线怎么输入_Python中下划线的使用方法有哪些

    Python中下划线的使用方法有哪些 主要介绍了Python中下划线的使用方法,是为python编程学习中的基本知识,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注 ...

  9. SitePoint播客#124:iPhone贪婪的声音

    Episode 124 of The SitePoint Podcast is now available! This week the panel is made up of regular mem ...

最新文章

  1. Nature:拟南芥微生物组功能研究1培养组学—高通量细菌分离培养鉴定
  2. 第0次作业——读推荐博客有感
  3. 深度学习:Neural Network Layers Understanding
  4. strtol() 字符串转长整型函数
  5. 如何把自己的经历写成小说_古天乐的经历教会我们:如何在被欺骗以后改善自己的心理状态...
  6. 人类附身机器人获得永生_脑机接口先驱尼古莱利斯:人类无法实现数字永生
  7. 你的数据可也可以发三篇NAR的文章
  8. python处理mat数据_python读取.mat文件的数据及实例代码
  9. 第10篇 WINDOWS2003服务器 IIS上配置404页面的图文教程
  10. Memcached 集群架构方面的问题
  11. Emacs之快捷键大全
  12. 把prn文件输出到网络打印机
  13. 计算机思维和数学的那些事
  14. R语言批量下载PubMed摘要
  15. 大麦盒子显示服务器超时,大麦盒子卡顿怎么办?这几个方法可以快速解决
  16. vue3 解决getCurrentInstance 打包后线上环境报错问题
  17. r语言爬虫数据html表格,如何用R语言爬取网页表格数据节省一天工作时间
  18. 席慕容的诗歌——《我愿为莲》
  19. Java 并发 随笔 1-初尝并发
  20. RK3288 开发板 运行android6.0.1 如何通过i2c_detect 侦测i2c 设备

热门文章

  1. VC6中使用高版本系统API的方法
  2. [MySQL FAQ]系列 -- mysqldump出错一例:打开文件数太多
  3. 电子政务“云”成大势
  4. 大数据治理需要具备哪些能力和关键技术?
  5. c语言中数组名a和a详细介绍
  6. Oracle 基础系列之1.1 oracle的安装
  7. [LeetCode]--63. Unique Paths II
  8. 用rate-limit来限制特定用户的流量
  9. J2ME手机文件加密
  10. MySQL怎么打开explain_MySQL干货之-利用EXPLAIN优化查询