Installation • Usage • License • Documentation
Roman is a Swift framework that allows for seamless Roman numeral conversion.
Installation
Compatibility:
- Platforms:
- OS X
- iOS
- watchOS
- tvOS
- Linux
- Language:
- Swift 2.1+
Install Using Swift Package Manager
The Swift Package Manager is a decentralized dependency manager for Swift.
-
Add the project to your
Package.swift
.import PackageDescription let package = Package( name: "MyAwesomeProject", dependencies: [ .Package(url: "https://github.com/nvzqz/Roman.git", majorVersion: 1) ] )
-
Import the Roman module.
import Roman
Install Using CocoaPods
CocoaPods is a centralized dependency manager for Objective-C and Swift. Go here to learn more.
-
Add the project to your Podfile.
use_frameworks! pod 'Roman', '~> 1.1.0'
-
Run
pod install
and open the.xcworkspace
file to launch Xcode. -
Import the Roman framework.
import Roman
Install Using Carthage
Carthage is a decentralized dependency manager for Objective-C and Swift.
-
Add the project to your Cartfile.
github "nvzqz/Roman"
-
Run
carthage update
and follow the additional steps in order to add Roman to your project. -
Import the Roman framework.
import Roman
Install Manually
Simply add the Roman.swift
file into your project.
Usage
String
A Roman numeral string can be created from an instance of a type that conforms to IntegerType
.
String(roman: 1478) // "MCDLXXVIII"
String(roman: 2743) // "MMDCCXLIII"
String(roman: 1226) // "MCCXXVI"
String(roman: 0) // nil
String(roman: -42) // nil
IntegerType
All types that conform to IntegerType
can be initialized from a Roman numeral string.
The input string is case insensitive.
Int(roman: "III") // 3
Int(roman: "MIV") // 1004
Int(roman: "CdV") // 405
Roman even supports irregular numerals that don't use a short form.
Each of the following evaluates to true
:
Int(roman: "IV") == Int(roman: "IIII")
Int(roman: "XX") == Int(roman: "VVVV")
Int(roman: "CD") == Int(roman: "CCCC")
Invalid strings return nil
.
Int(roman: "hello") == nil
Int(roman: "IIIXX") == nil
Int(roman: "XYZ") == nil
FloatingPointType
All types that conform to FloatingPointType
can be initialized from a Roman numeral string.
Creating instances from Roman numerals works the same way as with IntegerType
.
License
Roman is released under the MIT License.
All assets are released under the Creative Commons Attribution-ShareAlike 4.0 International License and can be found in the Assets folder.