Let’s NoteのHDDをSSDに換装
Panasonic Let’s note CF-LX5のHDDをSSDに換装しました。このPCに入っていた500GBのHDDを同容量の500GBのSSDに入れ替えました。
続きを読むLinqの遅延評価と処理内容
LinqのIEnumerableの内容は遅延評価される。その内容を生成する処理は、
- その処理が呼び出されたときではなく、
- その内容が使われるときに実行される。
そのため処理の内容によっては、思わぬ結果になることがある。
続きを読むSelectとSelectManyの違い
LinqのSelectとSelectManyの違いについて。
public static IEnumerable<TResult> Select<TSource, TResult>( this IEnumerable<TSource> source, Func<TSource, TResult> selector) // ------- public static IEnumerable<TResult> SelectMany<TSource, TResult>( this IEnumerable<TSource> source, Func<TSource, IEnumerable<TResult>> selector) // --------------------
これらの違いは、引数に指定する関数selectorの戻り値の型が、TResultかIEnumerable<TResult>かだけである。
続きを読むIEnumerable<T> の実装
コレクションクラスでIEnumerable<T> インタフェースを実装する場合の覚え書き。
続きを読む1 つのメソッドは 1 つのことに専念する
メソッドはできるだけ単純にしよう。読んで解読する人のことを考えよう。
ここでは例として、指定の文字列中の指定の単語を "<B>" と "</B>" で囲んで強調表示に設定する場合を考える。この動作を分解すると、
- 指定の文字列から単語を抽出する。
- 抽出した単語が指定のものならば強調表示する。
という 2 つの内容に分けられる。これを 1 つのメソッドで実現してみると、
続きを読むEmacsでさっきのコマンドをもう一度実行する
Emacsで、さっきミニバッファで入力したコマンドを、もう一回というときは、
- C-x ESC ESC (repeat-complex-command)
を入力する。そうすると、ミニバッファにさっきのコマンドが表示されるので、必要に応じて編集し、実行する。
もう一回前、あるいは次のコマンド、というときは
- M-p (previous-history-element)
- M-n (next-history-element)
してみよう。