alright alright alright
//
// 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相关推荐
- seq2seq与Attention机制
学习目标 目标 掌握seq2seq模型特点 掌握集束搜索方式 掌握BLEU评估方法 掌握Attention机制 应用 应用Keras实现seq2seq对日期格式的翻译 4.3.1 seq2seq se ...
- python中的下划线_Python中的下划线详解
这篇文章讨论Python中下划线_的使用.跟Python中很多用法类似,下划线_的不同用法绝大部分(不全是)都是一种惯例约定. 一. 单个下划线直接做变量名(_) 主要有三种情况: 1. 解释器中 _ ...
- 详解Python中的下划线
本文将讨论Python中下划线(_)字符的使用方法.我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已. 单下划线(_) 通常情况下,会在以下3种场景中使用 ...
- python中单下划线_foo与双下划线_Python中单下划线和双下划线
什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法. 对于我来 ...
- 英语语音篇 - 拼读规则
文章目录 连音(辅音结尾+元音开头) 加音(元音结尾+元音开头(an,/w/,/j/,/r/)) 同化&异化 同化 异化 省音 缩读 弱读 节奏 语调 总结 连音(辅音结尾+元音开头) A r ...
- python怎么打下划线符号_详解 Python 中的下划线命名规则
在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后--那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单 ...
- 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 ...
- python下划线怎么输入_Python中下划线的使用方法有哪些
Python中下划线的使用方法有哪些 主要介绍了Python中下划线的使用方法,是为python编程学习中的基本知识,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注 ...
- SitePoint播客#124:iPhone贪婪的声音
Episode 124 of The SitePoint Podcast is now available! This week the panel is made up of regular mem ...
最新文章
- Nature:拟南芥微生物组功能研究1培养组学—高通量细菌分离培养鉴定
- 第0次作业——读推荐博客有感
- 深度学习:Neural Network Layers Understanding
- strtol() 字符串转长整型函数
- 如何把自己的经历写成小说_古天乐的经历教会我们:如何在被欺骗以后改善自己的心理状态...
- 人类附身机器人获得永生_脑机接口先驱尼古莱利斯:人类无法实现数字永生
- 你的数据可也可以发三篇NAR的文章
- python处理mat数据_python读取.mat文件的数据及实例代码
- 第10篇 WINDOWS2003服务器 IIS上配置404页面的图文教程
- Memcached 集群架构方面的问题
- Emacs之快捷键大全
- 把prn文件输出到网络打印机
- 计算机思维和数学的那些事
- R语言批量下载PubMed摘要
- 大麦盒子显示服务器超时,大麦盒子卡顿怎么办?这几个方法可以快速解决
- vue3 解决getCurrentInstance 打包后线上环境报错问题
- r语言爬虫数据html表格,如何用R语言爬取网页表格数据节省一天工作时间
- 席慕容的诗歌——《我愿为莲》
- Java 并发 随笔 1-初尝并发
- RK3288 开发板 运行android6.0.1 如何通过i2c_detect 侦测i2c 设备