鳩ブログ

サラリーマンが綴るブログ

Swift5の復習はXCodeのPlaygroundを使うと効率が良い

f:id:hato36:20200707114055j:plain

本に合わせてコードを書いてみて、XCodeの使い方やシミュレータの使い方、その他コードの癖は徐々に覚えてきているものの、もう少しコードに対しての理解をしていきたいと思い、本の最初の方に出てきていたXCodeのPlaygroundを使って復習をしてみました。

スクリプト言語の様に、容易に動かせるコーディング環境だと思えばいいのですかね。
しかし、これが思いのほか便利で、復習するのに役立ちました。

 

まずは変数と定数を復習してみました

varは変数
letは定数(私は「じょうすう」と読んでいるけど「ていすう」?)

 

これが基本です。変数はその名の通りで格納されている値を変えられます。
定数は値を定義したら変更することができません。これはどんな言語でも一緒です。

//変数の宣言

var intA:Int = 10

//二倍にする

intA = intA * 2

//文字列に変更して変数に格納

let strBuf:String = String(intA)

//出力

print(strBuf)

シンプルにこんな感じです。
変数のintAにはintA * 2(かける2)の結果を入れることが出来るわけです。
そして、Playgroundだとこれだけ書いてもコードを動かす事ができるので、Swiftの勉強をしているときの復習や、関数の使い方の勉強に都合が良いのです。

 

varとletの違いを確認する

f:id:hato36:20200707114835p:plain

varではなくletを使ってしまうとこんな感じでエラーになります。
ここでエラーを出して認識しておくことが重要です。
正しいことだけを理解するのではなく、ダメなことを確認することも重要な復習です。
//文字列の定数宣言
let strBuf1:String = "山田"
let strBuf2:String = "太郎"
//文字列の連結
var strBuf3:String = strBuf1 + " " + strBuf2
print(strBuf3)
//これでも同様のこと
print(strBuf1 + " " + strBuf2)

そして定数の方はこんな感じです。先ほど定数には代入できなかったことは理解したと思うので、ここでは試しません。

文字列の連結は文字列方の変数や定数を「+」でつなぎ合わせるだけです。
VBとかだと「&」を使ったりもしますね。(私は文字列の連結には&を使います)
後は文字列の連結だと「改行」を使いたくなりますが、その場合は下記のように「\n」を挟みます。「\n」が改行コードと言うことです。

//文字列の連結
var strBuf3: String
strBuf3 = strBuf1 + "\n" + strBuf2
print(strBuf3)

先日「 \ 」の記号入力ができなくてハマりましたが、Option + ¥(または\)のキーを押せばOKです。

 

文字数のカウント方法

次に文字数をカウントしてみます。

//文字数をカウントする
print(strBuf3.utf8.count)
print(strBuf3.utf16.count)
print(strBuf3.utf8CString.count)
print(strBuf3.unicodeScalars.count)
print(strBuf3.count)
print(strBuf3.underestimatedCount)

普通に使う場合は、「.count」でOKです。
ここまでいろいろ自分で調べながらもコードを書いてちょっとずつ復習をしてみたところで、自分で調べている時にふとSwiftのリファレンスサイトをみました。
本とGoogleで検索したサイトぐらいしか見ていなかったのですが、リファレンスも初心者にはとても良さそうです。

f:id:hato36:20200707204228p:plain



https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html 

英語サイトですが、Google Chromeの翻訳の機能を使えば全然読めます。
実際コードの部分を見るのがメインなので、日本語の部分はある程度意味がわかれば理解できます。

こんな感じでいろいろ復習して本日の学習も終了です。
Switchでスプラ2でもやるとしましょうw
在宅勤務じゃなければこんなことできなかったです。幸せ。

本だったらこれも良さそげです。まだ買ってないですが、リファレンスを手元において勉強したい人向けだと思います。例示も結構あるのでかなり参考になる様に思います、。