osx にフォントをコマンドでインストールする方法

Xcode のコードエディタで Swift を書くときに視認性のよいフォントを探したところ,source-code-pro というのが良さそうでした.
しかし,フォントを追加するのは意外に面倒そう.
というわけで簡単にインストールする方法を探したら,ありました.
コマンドラインからインストールできるようだったので,試したところ便利だったのでメモです.

▼ font-source-code-pro をインストールする.

$ brew tap caskroom/fonts                  # you only have to do this once!
$ brew cask install font-source-code-pro

▼ インストールできるフォントのリスト

$ brew cask search /font/


Macにフォントをコマンド一発で導入する!
brew tapとは

Swift 3 クロージャーについて

クロージャーについて少し知識が整理できていなかったので,メモしておきます.
なんとなく使えるけど,一からクロージャーを作るといろいろ疑問がでてきたので自分用にまとめてみました.
後になって考えると最初にこれを知っておけば理解が早かったのにということを忘れないようにメモしました.

▼ クロージャーの文法

1
2
3
{ (引数) -> 返値の型 in
	処理
}

▼ クロージャーを理解するときに知っておくと良いこと

– Swift クロージャーは,引数と返値の型を推論してくれる.
– 引数の()が省略できる.
– 返値を省略できる.
– 返値を暗黙に返してくれる.(クロージャ処理が1行の場合,return も省略できる)
– 引数も略式でかける.($0, $1, $2 というように記述できる)
– 最後の引数がクロージャーの場合,外に配置できる.(()内の引数から外に置ける.Trailing Closures)

– [weak self]
– @escaping

▼ 上記のサンプルコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// 文法どおりのクロージャー
let closureA = {(x: String) -> String in
    return x + "closureAの処理"
}
print(closureA("closureA:")) // closureA:closureAの処理
 
// 暗黙を利用した省略記法のクロージャー
let closureB = { x in
    x + "closureBの処理"
}
print(closureB("closureB:")) // closureB:closureBの処理
 
// クロージャーをパラメータに渡す定義
// (第2引数のクロージャーに第1引数の文字を渡す関数)
func closureParamA(_ x: String, _ y:(String) -> String) -> String {
    return y(x)
}
 
// 最後のパラメーターにクロージャーを渡す
// (既存のクロージャーにパラメータを渡す関数が書ける)
let param1 = closureParamA("closureParamA1:", closureA)
print(param1) // closureParamA1:closureAの処理
 
// 最後のパラメーターのクロージャーを()の外に配置する
// (新たにクロージャーにパラメータを渡す関数が書ける)
let param2 = closureParamA("closureParamA2:") { x in
    x + "closureParamの処理"
}
print(param2) // closureParamA2:closureParamの処理
 
// クロージャー定義をパラメータに書くのが大変なので,typealias を使う
typealias closureType = (String) -> String
func closureParamB(_ x: String, _ y:closureType) -> String {
    return y(x)
}
 
let param3 = closureParamB("closureParamB:", closureA)
print(param3) // closureParamB:closureAの処理

Xcode 8.3.2 で Alcatraz が使えなくなった件

Swift の整形ツールを探していて Xcode プラグインがいろいろ出ているようだったので Alcatraz からインストールしようとしたところ,メニューに「プラグイン マネージャ」がなかった.

いろいろ試して,関係はないが Homebrew を使用しようとしたら,Homebrew も利用できない事態になった.最悪だ.

以下の対処方法で Homebrew は使用できるようになった.(ホッ😌)

Homebrewを久々にupdateしたら出来なかった時の対処法
http://qiita.com/takezoux2/items/aa2a5f0bef19cd0d8508

その後,「プラグイン マネージャ」は一度使えるようになったが,再度 Xcode (8.3.2)を起動するとメニューに表示されなくなっていた.プラグインって廃止される傾向なのかなぁー?

Xcode 8 won’t load plug-ins #475
https://github.com/alcatraz/Alcatraz/issues/475

特に困っていないので,そのまま swimat を使用しています.