LoginSignup
3
3

More than 5 years have passed since last update.

【Swift】乱数をシンプルに生成するRandomKit触ってみた

Last updated at Posted at 2016-11-13

Swiftで乱数を生成する

Swiftで乱数を生成する場合、従来では以下のようにする必要がありました。

// 1~9の値を取得する場合
let random = arc4random_uniform(10)

// 1~99の乱数を取得する場合
let random = arc4random() % 100

としたり、自分で乱数生成用のクラスを実装したり、大変でした...。

RandomKitインストール

特に意識することなく直感的に乱数を使用することができるライブラリRandomKitをインストールします。

Carthageでインストール

Cartfileに以下を記述します。

github "nvzqz/RandomKit"

以下を実行し、ライブラリをビルドします。

$ carthage update --platform iOS

Run ScriptのInput Fileに

$(SRCROOT)/Carthage/Build/iOS/RandomKit.framework

を追加します。

ソースにインポート

import RandomKit

使ってみる

数値文字を範囲から

数値、文字で使えます。
自分で数値や文字の範囲を決めて指定するだけです。
また、数字に関してはrandom(to: )を使用することで、
0から指定値までの値を得ることができます。

Int.random(within: -100...100)) // -100~100
Double.random(within: -11.2...22.3) // -11.2~22.3
Character.random(within: "a"..."z") // a~z

Int.random(to: 100) // 0~100
Double.random(to: 0.9) //0~0.9

配列や文字列から要素を抽出

配列や文字列などからも要素を抽出することもできます。

["Bob", "Cindy", "May", "Charles", "Javier"].random // Cindy
"Hello".characters.random // e

シャッフル

配列の要素をシャッフルすることができます。

// Array
var a = [1, 2, 3, 4, 5]
a = a.shuffled()  // [3, 4, 1, 5, 2]

// Dictionary
var b = ["a": 1, "b": 2, "c": 3]
b.shuffled()  // ["a": 3, "b": 1, "c": 2]

他の型における使用方法については、RandomKitのReadmeをご覧ください。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3