-
[Swift] init(_:radix:)Swift 2022. 2. 2. 13:58
Generic Initializer
init(_:radix:)
μ£Όμ΄μ§ λ¬Έμμ΄κ³Ό κΈ°μμμ μ μ μ κ°μ λ§λ λ€.
Declaration
init?<S>(_ text: S, radix: Int = 10) where S : StringProtocolParameters
text
κΈ°μμ μλ μ«μμ ASCII ννμ΄ κΈ°μλ‘ μ λ¬λλ€.
radix
ν μ€νΈλ₯Ό μ μ κ°μΌλ‘ λ³νν λ μ¬μ©ν κΈ°μ λλ λ² μ΄μ€μ΄λ€. κΈ°μλ 2λΆν° 36 μ¬μ΄μ λ²μμ μμ΄μΌνλ©°, κΈ°λ³Έκ°μ 10μ΄λ€.
γ €
Discussion
ν μ€νΈλ‘ μ λ¬λ λ¬Έμμ΄μ + λλ - κΈ°νΈμ λ¬Έμλ‘ μμνκ³ , κ·Έ λ€μ νλ μ΄μμ μ«μ (0-9) λλ λ¬Έμ (a-z, A-Z)κ° μ¬ μ μλ€. λ¬Έμμ΄ κ΅¬λ¬Έ λΆμμ λμλ¬Έμλ₯Ό ꡬλΆνμ§ μλλ€.
let x = Int("123") // x == 123 let y = Int("-123", radix: 8) // y == -83 let y = Int("+123", radix: 8) // y == +83 let z = Int("07b", radix: 16) // z == 123γ €
λ§μ½ textκ° μλͺ»λ νμμ΄κ±°λ, μ£Όμ΄μ§ κΈ°μμ λν λ²μλ₯Ό λ²μ΄λ λ¬Έμλ₯Ό ν¬ν¨νκ±°λ, μ£Όμ΄μ§ κΈ°μμμ λνλ΄λ κ°μ λνλΌ μ μλ κ²½μ°, κ²°κ³Όλ nilμ΄λ€. μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ κ²½μ° λ³ν κ²°κ³Όλ nilμ΄λ€.
Int(" 100") // Includes whitespace Int("21-50") // Invalid format Int("ff6600") // Characters out of bounds Int("zzzzzzzzzzzzz", radix: 36) // Out of rangeγ €
https://developer.apple.com/documentation/swift/int/2924481-init
'Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift] μ§μ λ³ν (0) 2022.02.02 [Swift] init(_:radix:uppercase:) (0) 2022.02.02 [Swift] ν¨μν νλ‘κ·Έλλ° (Functional Programming) (0) 2022.01.21 [Swift] κ³ μ°¨ν¨μ (map, filter, reduce) (0) 2022.01.20 [Swift] λ¨λ½ νκ° (Short-circuit Evaluation), Side Effect (0) 2022.01.20