【お勉強記録】C#文法学び直し。yield
いまさらですけど、ちょっとあやふやになっていたC#の文法を改めて学びなおしています。
yieldについて
自分でコレクションクラスを作る場合、イテレータのインターフェースに対応するメソッドを実装必要があるけど、簡単に実装できる方法がイテレータ構文(yeild)。 イテレータはコレクションの要素を順次取り出す機能のこと。
using System; using System.Collections.Generic; using System.Collections; namespace Test { class Program { static void Main(string[] args) { var lists = new Example_Iterator(); //遅延実行されてるか確かめるために何か表示してみる Console.WriteLine("BerforeForeach"); foreach (var item in lists) { Console.WriteLine(item.ToString()); } //コンソールを表示したままにするために入力を待つ。 Console.ReadLine(); } } public class Example_Iterator:IEnumerable { public IEnumerator GetEnumerator() { Console.WriteLine("ONE"); yield return 1; Console.WriteLine("TWO"); yield return 2; Console.WriteLine("THREE"); yield return 3; } } }
実行結果は
BerforeForeach ONE 1 TWO 2 THREE 3
きちんとyeild returnで処理が止まってそうです。 また、取り出しの時に初めて処理が行われています。
イテレータブロックでは戻り値の型が
IEnumerable
IEnumerable<T>
IEnumerator
IEnumerator<T>
のいずれかに。
ちなみにyeildの読みはWeblioで聞いた感じだと「いぃーろぉ」に聞こえました。
『SOFT SKILLS ソフトウェア開発の人生マニュアル』を読みました。
『SOFT SKILLS ソフトウェア開発の人生マニュアル』を読みました。 単にプログラムの学習方法の話だけでなく、就職や転職、不動産投資、健康、恋愛についてまで、本当に「人生」にまつわる話が書かれていました。
気になったところをメモ
第1部 キャリアを築こう
第10章 プロであること
プロとは自分の責任を取り、キャリアを真剣に考え、 自分が正しいとわかっていることをするために、難しい選択をあえてすることをいとわない人のことである。
これは耳が痛い言葉でした。 もっときれいにうまく書けるのに、妥協して書いてしまうことがあります。 (他の書き方ですっきりかけるのにネストが深いコードにしてしまうとか、マジックナンバーを放置したりとか)
第2部 自分を売り込め!
第20章 自分と気付いてもらえるブランドを確立しよう
第26章 バカにされるのを恐れるな
社内外において、ミスへの恐れや保身からチャレンジをためらってしまうことがあります。 仕事でも難しい案件に絡んでいけるように自分から積極的に行動をして、 仕事を通して技術力を上げるのも、ありかなと思いました。
第3部 学ぶことを学ぼう
第27章 独学の方法
何かを学びたいと思うなら、どうすればいいだろうか。 結論を言えば、行動を起こしたときに最もよく学べる。 (略) 独学するときに重点を置くべきことは、できる限り早く実際に試せるポイントに到達して、行動を起こすことだ。
いい言葉だったのでメモ。
第29章 ステップ1~6:一度限りのステップ
第30章 ステップ7~10:繰り返すステップ
学習のための各ステップについて書かれています。全体像を素早くとらえて、スコープを決めて取り掛かる重要性は日常的に感じています。 全部やろうとすると、何もできないで挫折するのはよくありますので… また、スコープを決めることで、余地はやく実践に移せるようになるということなのでしょう。
第31章 メンターを探す:あなたのヨーダを見つける
これは本当に感じますねー とりあえず社内の数少ないプログラム好きな人と接点を持てるようにアクションをとります。
第4部 生産性を高めよう
第45章 習慣を作る:コードを磨こう
「悪い習慣を見つけて直す+新たな習慣をつくる」といったようなことがありました。 今年に入って、筋トレの習慣は身につきました。 カレンダーに色を塗るといった方法を取り入れて習慣化しました。(週に3マスは塗るのを決まりとした。)
プログラムに関してもいい習慣を築きたいです。⇒毎日30分技術書を読む。
第5部 お金に強くなろう
不動産投資に関するお話が書いてありました。 著者は不動産からの利益だけで生活できる状態になって、今はまさに自分のために仕事をしているとのことでした。
私に関しては株式投資を通してそのような状態を目指しています。
第6部 やっぱり体が大事
筋トレをはじめとする運運動や食事について書いてました。
私は今年習慣になった筋トレを続けて、マッチョなプログラマになるのが目標です。(ダンベルプレスで自分の体重を上げるのが今の目標です。)
第7部 負けない心を鍛えよう
モチベーションやポジティブ、恋愛についてなどについて書かれていました。
おそらくどのや、どの状態になっても読む場所のある本だと思いました。(逆に今は大して関心のない章もままありました。) 今後も気が付いたときに読み直してみます。