Language: πΊπΈ English πΊπ¦ Π£ΠΊΡΠ°ΡΠ½ΡΡΠΊΠ° π―π΅ ζ₯ζ¬θͺ
IceCreamSandwich is a versatile Swift library designed to identify Ice Cream Sandwich patterns within strings, collections, and integers. Originally created for the first task in Chapter 1 of the aCode C++ Practice Tasks.
IceCreamSandwich seamlessly handles collections and integers through extensions that conform to the Hashable and BinaryInteger protocols.
An Ice Cream Sandwich is a pattern with matching and distinct left and right ends, enveloping a unique middle portion.
"AABBBAA"
[1, 2, 3, 3, 2, 1]
505
To use the IceCreamSandwich library, include it in your project and utilize the isIceCreamSandwich
property on instances.
import IceCreamSandwich
// String
let smileySandwich = "πππ¦ππ"
if smileySandwich.isIceCreamSandwich {
print("Yay! You've created an Ice Cream Sandwich!")
} else {
print("Oops! Your arrangement doesn't form an Ice Cream Sandwich.")
}
// Collection
let numberSandwich = [1, 2, 3, 3, 2, 1]
if numberSandwich.isIceCreamSandwich {
print("Congratulations! You've assembled a numeric Ice Cream Sandwich!")
} else {
print("Oops! Your arrangement doesn't form a numeric Ice Cream Sandwich.")
}
// Integer
let integerSandwich = 505
if integerSandwich.isIceCreamSandwich {
print("Awesome! You've crafted a numeric Ice Cream Sandwich!")
} else {
print("Oops! Your numeric arrangement doesn't form an Ice Cream Sandwich.")
}
File
> Swift Packages
> Add Package Dependency...
https://github.com/jaroshevskii/swift-ice-cream-sandwich.git
For more information on adding Swift Packages to Xcode, you can read the Hacking with Swift tutorial.
Add IceCreamSandwich to your Package.swift file as a dependency:
let package = Package(
// name, platforms, products, etc.
dependencies: [
.package(url: "https://github.com/jaroshevskii/swift-ice-cream-sandwich.git", from: "1.0.0"),
],
targets: [
.target(
name: "YourTargetName",
dependencies: [
.product(name: "IceCreamSandwich", package: "swift-ice-cream-sandwich"),
]),
]
)
Run swift build
to fetch and integrate the package into your project.
Feel free to contribute, report issues, or suggest improvements! Letβs make IceCreamSandwich even more delightful.
Licensed under the MIT license.