「 Unityでゲーム作ってる連中で、 ゲームを作ることはできるが C# の 文法 分かんね、投ーげた、とか言ってるやつ いるだろ☆
下記のWebサイトで 50時間ぐらい C# を学習するのがベストだが そんなんやってられね、というやつのために☆」
「 即効性のある方法を教えてやろう☆ 物の名前を覚えることだぜ☆
そして グーグル検索に 物の名前 is fail.
とか 物の名前 is not work.
と入れて検索しろ☆」
「 こんな感じで C#プログラムを眺めているとしよう☆ 今回はC#の文法に範囲を絞って 説明する☆」
「 あんたは Rust 使いでしょ! Unity や C# なんかやってないで コンピューター囲碁作ってればいいのに!」
「 なんか呪文で これは書くことが決まってるから 書いてる、とか そんなんだろ☆」
using Diag = System.Diagnostics;
^^^^^^
Alies
### Omitted.
Diag.Trace.WriteLine($@"Test 1 | {value}");
^^^^^^^^^^
「 名前が被っていた場合 エイリアス(Alies; 別名)を付けることで 区別することができる☆」
「 特にこだわりがなければ コード分析から Microsoft のすべての規則
を選べだぜ☆」
「 みな Microsoftからの推奨事項がないと思って 適当にネームスペースを使っているが まあ いいだろう☆
Microsoftは 特別扱いなんで推奨事項を使わないし、みな Microsoft のサンプルを真似るから 誰も推奨事項があることを知らない☆」
「 別の言語では Using declaration (ユージング・デクレーション) と呼んだりする☆
directive (ディレクティブ; 指令)は そこに行ってこい、という意味で、 declaration (デクレーション; 宣言)は ここはどこなんだ、という意味だぜ☆」
「 declaration (デクレーション) は わたしが決める という意味なんで、勝手に付けることができる☆」
「 クラスも最初は 呪文でいいだろう☆ いろんな種類がある☆」
「 分かんなかったら public class
でゴリ押し しろだぜ☆ たまに失敗すると思うが なんとかしろ☆」
「 クラスは Visual studio 2019 のデフォルト設定では 青緑色 をしているので、感じろだぜ☆」
「 なんかもう全部 呪文だよな☆ お前ら丸暗記かだぜ☆? これはメソッド(Method)☆
関数(function)と呼ぶやつもいる☆」
「 体系的に スパシファケイション(specification)を 50時間かけて読むか、
そんな初動時間を取らずに 経験でやるかの トレードオフだな☆」
「 とくに この部分を メソッド・シグネチャー(Method signature)と呼ぶぜ☆」
「 なんか こういうやつを フィールド(Field)と言うが、 フィールドの元の意味を知ってると 違いが分かるので 説明する☆」
「 支配者がいて、その支配者が支配している土地を Domain(ドメイン; 領域)と呼ぶ☆
飛び地があったり、拡大したり 侵略されたりして 時系列に並べてみると 特定の形を保っていないのが ドメイン だぜ☆」
「 上が北として、北西の方はモンスターが住んでそうだな☆ こんなところに うまみ はない☆」
「 使える土地を見ろだぜ☆(^~^)
そして その使える土地のうち、 使い方を決めてしまったところ がフィールドだぜ☆m9(^~^)」
「 height(ハイト; 高さ)とか、 address(アドレス; 住所)とか名前が付いてるだろ☆
ここに 体重とか 人の名前を入れたら死刑な☆」
「 Property(プロパティ)は Interface (インターフェース)になったり、ならなかったりすることもできるが、
Field (フィールド)は インターフェースになれない☆
その違いを説明していこう☆」
「 別のドメインから 客がやってきたとするぜ☆ そして グレープ
が食べたいと しきりに言っていたとしよう☆」
「 うちの領土なら グレープ、りんご、バナナ がある、というのが Interface(インターフェース)だぜ☆」
「 自分とこに なければ 別のドメインから取り寄せてもいい☆
客は グレープが欲しいと言ったら、欲しいんだぜ☆ 商人はグレープを出すしかない☆ 大人は そんな戦い方をすることがある☆
Interface
や Property
は オブジェクト指向プログラミング
から来た用語であり、
オブジェクト指向プログラミング の秘訣は 中身がどうなってるか知ってなくても使える ことだぜ☆」
「 それに比べ Field
は即物的だぜ☆ あるところからしか 取れない☆」
「 だから フィールド と プロパティ の間には 目に見えない大きな境界線があり、ルールが違う☆
手続き型言語世代(Procedure)と オブジェクト指向プログラミング世代(OOP)ぐらい違う☆」
if (age < 11)
{
Trace.WriteLine("Age | 11未満。");
}
else if (age == 11)
{
Trace.WriteLine("Age | 11。");
}
else if (age == 12)
{
Trace.WriteLine("Age | 12。");
}
else
{
Trace.WriteLine("Age | 12以上。");
}
「 むずかしい書き方が分からなかったら 分岐 は イフ・エルスイフ・エルス文 で何とか やりすごせだぜ☆」
var kind = 4;
switch (kind)
{
case 0:
Trace.WriteLine("Kind | ゼロ。");
break;
case 1:
Trace.WriteLine("Kind | イチ。");
break;
case 2: // thru.
default:
Trace.WriteLine("Kind | ソノタ。");
break;
}
「 キリ がないよな☆ ↑仕様書 勝手に読んでりゃよくね?」
「 プログラミングの背景事情だけ押さえて、文法は 必要になったつど検索して 経験的に覚えるのが よくない?」
<おわり>
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント