鳩ブログ

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

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)の結果を入れることが出来るわけだ。

 

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)

そして定数の方はこんな感じ。先ほど定数には代入できなかったことは理解したと思うのでここでは敢えて試さないよw
文字列の連結は文字列方の変数や定数を「+」でつなぎ合わせるだけ。
VBとかだと「&」を使ったりするけどね。
後は文字列の連結とかだと「改行」を使いたくなると思うけど、その場合は下記のような感じ。

//文字列の連結
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 

英語ではあるけど、Chromeなどで、日本語に翻訳の機能を使えばある程度読めるし、実際コードの部分をみるのがメインだから日本語で書かれていなくてもある程度理解できる。日本語の翻訳で英語に対する抵抗も薄くなるのでさらに読みやすいw

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

本だったらこれも良さそげ。まだ買ってないけど、リファレンスを手元において勉強したい人向けって感じ。

詳解 Swift 第5版

詳解 Swift 第5版

  • 作者:荻原 剛志
  • 発売日: 2019/11/15
  • メディア: Kindle版
 

 

いよいよmacbook Pro 13インチだと画面が足りないと思えてきた。
XCode開いて...Evernote開いて...ブラウザ開いて...が1画面だとややしんどい。モニタ買おうかな...とかmacbook Pro 16インチ買おうかなとか悩んじゃう。iMacでもいいかもしれないけどね。