今回はSwiftのextensionを使って、Int型に素数かどうかを判定するメソッドを追加したいと思います!!
「extension」って何?
extensionは既存の型に新たな機能を後から付け加えることの出来る機能です。
書き方としては、
extension 拡張したい型 {
拡張する機能
}
このような記述をして使います。
Int型に素数かどうか判定するメソッドを追加してみよう!
では、このextensionを使ってInt型に素数かどうかを判断するインスタンスメソッドを追加してみましょう!
extension Int {
// judge the number is a prime or not
func is_prime() -> Bool {
var arr: [Int] = [] // store divisors
for num in 1...self {
// find divisors
if self % num == 0 {
arr += num
}
}
if arr.count < 3 && self != 1 && self > 0 {
return true
} else {
return false
}
}
}
8.is_prime() // return false
11.is_prime() // return true
以上です。お疲れ様でした^^