FC2ブログ
 

米国株テクニカル分析ブログ ソシアルアドバンテージ 香港株、米国株、エリオット波動のブログ

swiftの学習でわかったこと Swiftの初心者向け解説

プログラミング言語スイフトを学習している

ここ数ヶ月の悪戦苦闘の結果ようやく自分でまともなプログラムを書けるようになったと思った

そこでSWIFTを使っているプログラミングの初心者の人に私から言いたいことがある

それはswitch文やif文やfor文などのそれぞれについての概念の捉え方だ

私の理解によれば、プログラムはある種の製造ラインのようなものである

そして処理を書く上でそれぞれの文はまるで人間のように振る舞う

では以下に書いていく


変数定数について

varやletで宣言されるSwiftの変数と定数はコンビニ弁当の製造ラインで言えばごはんとおかずのようなものであると言える

例えばコンビニの弁当は季節がいくら変わってもごはんが入っている
つまりコンビニ弁当で言えばごはんは定数なのだ

一方でコンビニ弁当のおかずは季節や商品開発の人たちの気分やアイデアでどんどん変化していく
だからコンビニ弁当で言うならおかずは変数だ


コンビニ弁当はいくら時間や季節が変化してもごはんと〇〇(おかず)という組み合わせは変化しない

同様にプログラムを書くときに変化しないものはletである定数で宣言する


ならもし筍の炊き込みごはんは変数では無いのか?
というと筍の炊き込みごはんを分解すれば

ごはん(定数)+筍(変数)+だし汁(変数)

となり、ごはんは定数のままであることがわかる


文字列String整数Intについて

Swiftではデータを文字列であるStringと整数Intそして小数点以下も表示できるDouble・Floatが使われている


文字列はiPhoneの画面に表示する文字を指定するあるいは文と文を足し合わせる時につかうもので前と後ろに"をつけてプログラムに書くことになる

プログラムとして重要なのは文字列Stringは名詞と状態を書く時に使い、整数Intや小数点付き整数のDouble・Floatは数字を処理したり数量を扱う時に使うという点だ


つまりコンビニ弁当で言えば商品名「唐揚げ弁当」は文字列であり、名詞であるもし「おいしい唐揚げ弁当」と商品名が変化してもそれは状態をあらわすので文字列Stringである

一方で唐揚げ5個、唐揚げ4個は数量であり、5個入りが4個入りになってもそれは数字の変化である

弁当のカロリーである1食450kcalも同様にカロリーの数量であるので整数である



Switch文について

Switch文は搬入口であり仕分け係である

唐揚げ弁当で例えるならもし唐揚げ弁当の製造ラインに豚肉を持ってこられてもそれで唐揚げ弁当を作ることができないように、プログラムの文でも違うものを持ってこられても困ってしまう

また、この場合はどうすればいいか?というのを前もって指示しておくことも大事だ
例えば天気がいい日は唐揚げ弁当を多めに店舗に配送するだとか、逆に雨なら製造を絞るなどだ

SwiftのSwitch文はcaseとdefaultが必要(defaultは省略できる)なのだが、これはSwitch文の性格を示しているといえる

つまりcase(~の場合は?)とdefault(基本的には)というものだからだ


これによるならSwitch文を使うと

default 基本は100個作る
case 天気が晴れなら110個作る
case 天気が雨なら90個作る

という風に命令を条件で変化させることと普段はどうするか?を決めることができる

上ではSwiftのSwitch文の書き方を取っていないが実際には

Switch FriedChikenLunch {
case "晴れ":
処理
case "晴れ":
処理
default "普段"
処理
}
という風に書く

また、唐揚げ弁当の製造ラインに豚肉を持ってこられたらとんかつ弁当の製造ラインに持って行けという命令も出せる



for文について

for文はプログラミング初心者には何のことやらわかりにくいが、実はforこそ自動化の要であり言うなればプログラミングにとってfor文こそ主役であり作業員であると言える

for文は同じことを決められた回数こなす役目を持っていて、忠実であるが気はきかないw

例えば1から1000まで順番に足して行けという人間なら意味が見出せずうんざりすることもforなら文句を言わずやってくれるw

ただ生来受け身なので「そう言われると思ってこれやっておきました!」とは言ってくれないw

for文はforとinで書かれているが、forとinの間に処理する対象を入れてinの後ろに回数を書く
この時、処理する対象を前もって宣言することと回数を間違えないことが大事だ

なお、回数は1...5という風に書いても良いし定数か変数で指定できる


var 鶏肉 = 200
var 唐揚げ粉 = 20

for i in 1...5{
//処理


}

funcについて

funcは関数とも言われる

funcは役割的にはリーダー付きのチームでありfuncの中には前述のSwitch文for文そして定数変数を内包することができる

funcは関数と言われているが機能という意味もあり、内包されているforやSwitch文あるいは単純な足し算引き算掛け算割り算を特定の目的のために使うことができる


軍隊で言うなら機関銃チーム、対戦車ミサイルチームであり、一度作った関数は定数や変数と違い特定の目的にしか使えないが使いようによってはとても効果的な道具になりうる

関数は関数名()というふうに呼び出したり、戻り値がある場合はそれぞれ文字列や数値IntやDoubleの型を指定して処理させることができる


Swiftの場合はテキストフィールドの数字同士を足し合わせたり複雑な計算をするときに使ったり文字列を加工するときに使う




注意点はしばしば関数の中身や型について考えながら書いていると、関数名を付け忘れてしまうということだ

関連記事
スポンサーサイト



コメント


管理者にだけ表示を許可する
 

 

トラックバック