オプショナル型

2日もサボってしまいました。

最近健康診断を受けて、バリウムにやられました、かなほです。

 

本日はオプショナル型について。

 

f:id:kax2:20170525222244p:plain

 

var 任意の名前 = 値

と、今まで入力してきましたが、

nil(何もない)を入れるとエラーが出ます。

なので、

もしかしたらnilが入るかもしれないよ! という値のこと。

 

 

そんなときは ? ラップをしてあげます。

f:id:kax2:20170525222526p:plain

 var testInt2:Int? = nil

 

例えば、

 var testInt3:Int? = 10

 var testInt4:Int = testInt3

とするろエラーになります。

なぜなら、nilが入るかもしれないtestInt3に対して、

変数しか入らないtestInt4はイコールにはならないから。

そんなときは、ちゃんとラップしてあげましょう。

 

 var testInt3:Int? = 10

 var testInt4:Int? = testInt3

 

そうすると、エラーは解消されます。

 

f:id:kax2:20170525223235p:plain

また、計算式を作る場合も同様。

nilがいる場合は計算ができないのでエラーになります。

 

 var testInt5:Int? = 10

 var answer5 = testInt5 + 20

 

こいつを、

 

 var testInt5:Int? = 10

 var answer5 = testInt5! + 20

 

と、!(アンラップ)してあげます。

testInt5には10が入る予定だけど、nilも入る可能性がある。

でも、とりあえず20を足してね!

 

・・・ということ。

 

オプショナル型はアプリを作る上でよく使う

避けては通れない道といっても過言ではないので、

いつもの こういうものだと思って覚える。 ってやつです。

 

 

次回!

『クラス! これを学べば次はいよいよアプリ作成の道へ!?』

 

お楽しみに!!!

関数とは指示書のようなもの

 

こんにちは、かおるさんです。

火曜日なのにもう疲れていて休みたいです。

勤務2日、週休5日で手取り30万くらい欲しい。

 

今日は関数についてやろうと思います。

 

関数は一人でアプリを制作していくうえで必ず出会います。

 

なるべくコピペコードではなく、自分の力でコードを生成できるようになりたいですね!

 

 

ということで関数の書き方です。

 

f:id:kax2:20170523221558p:plain

 

func <関数の名前(分かりやすいのがオススメ)> ( ) {

 <行う仕事>

}

が指示書という名の関数の型。

 

でも指示書を作るだけじゃあ誰も仕事をしてくれませんよね!

 

そのため、関数という指示書を、この指示をやって欲しい部署に渡してあげる必要があります。

 

今回はplaygroundでやっているので、そのまま関数の下で渡してあげれば大丈夫です。

 

<関数の名前> ( )

 

で関数を呼び出せます。

ここを忘れると、いつまでも仕事をしてくれないので、アプリを作っていてうまく働いてくれない時は、ちゃんと関数を呼んでいるかも確認しましょう!!

 

 

ところで関数の応用という感じのものに、『引数』と『戻り値』というものがあります。

 

まずは『引数』。

 

指示書を渡した部署から、「じゃあ指示書の通りやるので、この発注数でいかせてもらいます!」と言われるようなものです。

でもミスがないように、何がどれで、どれがなんなのかを、関数の呼び出し時にしっかり言ってもらいましょう。

f:id:kax2:20170523223514p:plain

このスクショのname、like、foodは、適当に名付けた引数です。

やりたいことに合わせて分かりやすい名前をつけてあげてください。

 

 

次に『戻り値』です。

 

A部長「指示書だ!これをやってもらおう。」

新卒B「分かりました!ではここは×××でいかせてもらいます!」

A部長「そうか、ありがとう!ここは×××でいくんだな?

新卒B「はい!×××でいきます!

的な感じのやりとりをするのが戻り値です。

関数が終了して呼び出しに戻る時に、呼び出し元に値を戻します。

f:id:kax2:20170523224821p:plain

スクショを見てもらえればわかると思いますが、値が返ってきているため、

引数の時とは違い、3回大富豪さんに挨拶をしていますね!

 

 

ということで、今回は関数のお話でした。

 

例文から、私たちがいかにお金が好きか分かりますね。

この調子で一歩ずつ、億万長者に近づいていきたいです。

 

 

それでは次回、

「Optional型!? !はびっくりしてるんじゃないのかよ!」

 

お楽しみに。

 

 

Dictionary型の説明を忘れていました。

 

こんにちは!かおるさんです。

 

 タイトル通り、Dictionary型の説明を忘れていました。

Dictionary型とは文字通り辞書型という意味です。

 

 

ざっくりと言ってしまえば、a は1、b は2、c は3…という意味になります。

aの部分は調べたい単語の名前。

aに対応する1の部分は単語の意味と捉えてください。

 

そのため、辞書型なので、簡単に言えばのちのち逆引きなどができます。

(1の意味を持つものはa、bという言葉の意味は2、などなど…)

 

f:id:kax2:20170521230908p:plain

 

こんな感じに、前回の配列と同じで、空の辞書型配列も作ることができます。

 

次に、for文を使って辞書型配列の中身の内訳をしてみる。

 

f:id:kax2:20170521231859p:plain

 

for文を使って、辞書型配列の中身の内訳をしてみます。

 

for ( 調べたい単語群の総称 , 単語の意味の総称) in 辞書の名前 {

 print(調べたい単語群の総称, 単語の意味の総称)

}

 

で、辞書の中に入っている単語の数だけ、単語と単語の意味を照らし合わせている状態です。

今回は分かりやすくするために、『ここはキーの〜〜で…』という余計な言葉をいれていますが、ぶっちゃけなくても構いません。

 

ざっと説明してしまうと辞書型とはこんな感じで、値に決まった相手がいるみたいなもんです。

説明下手ですいません。精進します。

 

次回はアプリに戻っていきつつ、関数について学んでいきたいと思います。

 

 

次回、

『関数とか分からねぇからとっととアプリ作らせろ!!』

 

お楽しみに。

配列の引き出しを開けてみる。増やしてみる。

前回、配列の続き。

すでに夏バテになりそうです、かなほです、

 

 

配列は、引き出しに例えるとわかりやすい。

らしい。

 

f:id:kax2:20170520222043p:plain

 var intArray4 = [1,2,3,4,5]

 

intArray4 というタンスの引き出しに、値が入っています。

一番上の引き出し 0番 に "1"

その次 1番の引き出しに "2"

その次 2番の引き出しに "3"

 

と言ったように。

 

 print(intArray4.count)

 

と指定してあげると、intArray4のタンスの引き出しの数を教えてくれます。

 

  print(intArray4[0])

 

と指定すると、0番の引き出しの値を教えてくれます。

前回も言いましたが、配列は0から始まっています。

 

 

違う言い方をすることもできます。

新しく任意の名前をつけて、中身の個数を表示させる方法。

 

 var mojiArray4 = ["あ","い","う","え","お"]

 for val in mojiArray4 {

   print(val)}

 

 

答えは一緒だけど、求め方が違う。

色々やっていくうえで、きっと使い分けをしていくのだろう…。

とにかくこういうものだと思って覚える。

合言葉ですね。

 

 

そしてもちろん

引き出しの中身を増やすこともできます。

 

 mojiArrat4.append("")

     print(mojiArrat4)

 

mojiArray4に、かを加えて(append)、表示して(print)ね」

と言った感じに。

 

 

とりあえず、リストはこんな感じです。

配列はあと、辞書型っていう便利そうなやつがあるのですが、

それは改めて勉強しようと思います。

 

次回。

『playgroundで遊びすぎたので、アプリ擬きを作るのに戻る』

 

そういえばヤシの木出てきてないけど、

出てくるんでしょうか。

 

では、また。

配列むずかしいなぁ・・・

どうも。花金満喫してきました。かなほです。

 

前々回前回 かおるさんがplaygroundの説明をしてくれました。

1つのデータは1つの変数や定数を入れて扱いますが、

今日は複数データを扱う場合。

 

例えば「クラスの平均点を計算する」とか、

「取引先の電話番号を記録する」とか。

 

今回は、リストのように管理できる

『配列(Array)』をやります。

 

 

複数データを順番に並べて、

たとえば、2番に値を入れる。5番の値を見る。など、それぞれの番号を指定してデータにアクセスします。

 

ちなみに、番号は0番から始まっているので注意。

 

 

f:id:kax2:20170519224000p:plain

整数の配列

 var intArray = [1,2,3]

 

文字の配列

 var mojiArray = ["あ","い","う"]

 

配列名は任意。そのあとの[ ]の中に値を入れていきます。

 

 

ちなみに、

種類を指定して、配列することでもおなじことができる。

 

 var intArray2:[int] = [1,2,3]

 var mojiArray2:[String] = ["あ","い","う"]

 

int には整数

String には文字

が入ります。

 

 

さらに、値が同じものなら、個数と値を指定することでも簡単にできる

 

10を3回繰り返す

 var intArray3 = Array(repeating: 10, count: 3)

 

あははを5回繰り返す

 var mojiArray3 = Array(repeating: "あはは", count: 5)

 

 

さらにさらに、最初は空っぽだけど、実行時に要素を追加していくことのできる空の配列をつくることもできる。

 var hako:[String] = []

 

 

かおるさんも言ってたけど

こういうモノだと思って暗記していくしかない!!!!

 

 

次回

『引き出しを開けてみよう。増やしてみよう』

お楽しみに。

 

 

switch・while・for

 

こんにちは!

前回に引き続きかおるさんが担当しますよ!!!

 

今日はswitch文、while文、for文についてです。

 

まずはswitch。

switchは言葉の通り、パターンの切り替えです。

『この時は〜する、あの時は○○する、その時には××する』といった感じです。

f:id:kax2:20170518222258p:plain

ざっと書くとこんな感じ。

 

この場合、『サイコロの目が1の時は振り出しに戻る、2の時はもう一回振る、それ以外の時は出た目の数だけ進む』という意味になります。

 

プログラミングは本当にパターンが決まっているので、書き方さえ覚えてしまえば大抵どうにかなるよ。

f:id:kax2:20170518222938p:plain

ちなみに、『2と5の時はもう一回振る』という感じに、カンマで区切れば条件を追加できます。

 

 

次にwhile。

whileは繰り返しの処理をする際に使います。

 

この場合、『100を超えるまで7を足し続ける』というものです。

右側に出ている(15times)は15回足したという意味です。

f:id:kax2:20170518223232p:plain

playgroundの便利機能として、右側のグレーゾーンに表示されている■あたりをタッチすると、繰り返し処理の結果がグラフとして見ることができます。

 

便利ですね。

 

さて、最後にfor文です。

for文も繰り返し処理をする時に使います。

特定の範囲内で繰り返す、ということができるので、かなり使うシーンは多くなると思います。

f:id:kax2:20170518224445p:plain

for (変数)in 値1 ... 値2 {

}

 

で、値1から値2までの間で繰り返す、という意味になります。

コンソール部分を見てもらえれば分かるかと思いますが、0を含めた3までの4つの数字が排出されています。

 

 

for (変数)in 値1 ..< 値2 {

}

 

で、値1から値2未満の中で繰り返す、という意味です。

画像の場合、3未満なので、0から2までの3つの数字が排出されています。

 

 

どうですか?

 

 

難しいですか?

 

ここで難しいと感じているアナタに脳筋ゴリラかおるさんからのアドバイスです。

 

 

もうこういうモノだと思って暗記しよう!!!!!

 

 

もしかしたらそれが理解への近道かもしれません…。

 

次回、

『配列とはなんぞや』

 

お楽しみに!!

はじめてのplayground

 

みなさま初めまして。

本日はもう一人のKである私かおるが更新したいと思います。

かおるさんと呼んでね!!

 

ちなみにデザイナーをやっているけど大学ではjavaとかswiftとかobjective-cとかをかじっていました。

 

 

今日はplaygroundといういわゆる『遊び場』を使ってプログラミングへの苦手意識を薄くしていこうと思う。

 

まずはファイルの立ち上げから。

一番上にある「Get started with a playground」をクリック。

 

f:id:kax2:20170517225114p:plain

 

そして適当に名前をつけます。

platformはiOSのままで大丈夫。

 

f:id:kax2:20170517225552p:plain

 

適当な場所に保存すると、このような画面が表示されます。

ここに色々と書いていくと、前回までに紹介したアプリのプロジェクトとは違い、右側のグレーゾーンにすぐに結果が出る。

 

f:id:kax2:20170517225720p:plain

 

swiftのプログラミングの書き方は、他のプログラミング言語とあまり変わらないと思います。

個人的に;マークがなくてもエラーを出さずにちゃんと結果を出してくれるのが好きです。

 

ここでお詫びなのですが、変数・定数の説明用のスクショを取らなかったので、また別の機会に解説したいと思います。

 

というか今まで記事内でした説明も私のあやふや知識をそのまま文章にしただけなので、間違っている部分もあるかと思いますが、その際は誰か教えてください。

 

 

話をプログラミングに戻しますね…。

 

 

100という値を持ったscoreという変数を作ります。

『if』というのは『もし〜のとき、○○をする』という、

どのプログラミング言語でもよく使う(出てくる)条件文です。

 

f:id:kax2:20170517230035p:plain

 

この画像にあるのは、『scoreが80以上の時、「合格」の文字を出す』という意味です。

 

if (条件文) {

 命令文

}

 

という形です。

 

f:id:kax2:20170517231330p:plain

 

これは『scoreが80点以上ならば「合格」、それ以外ならば「不合格」を出す』というプログラミングです。

 

if (条件文) {

 命令文

} else {

 命令文

}

 

で、『もし〜の時、○○する。それ以外の時は××する』という型になります。

 

 

こんな簡単で数行書いただけでも立派な『プログラミング』になるんですよ!

 

どうですか?

 

プログラミングって、案外なんとかなりそうじゃありません???

 

 

そう!

そうなんです!!

 

プログラミングは明確な答えがあるので、決まった型さえ覚えてしまえば案外どうにかなってしまうのです!

 

なのでどうか苦手意識を持たず、一緒に基礎から勉強していきましょうね!

 

 

次回

『Switchって何!?かおるさんはニンテンドーswitchが気になる。』

 

お楽しみに!