グレインの備忘録

プログラミング関係とかをつらつらと。

2017-09-01から1ヶ月間の記事一覧

構造体のDictionaryでは直接値を変更できない

C#

コンテナの返値が値型か参照型かに気をつけましょうねという話。 シチュエーション 例えば、以下のようなコードを書いてみたとする。 public class Program { struct MyStruct { public int val1; public int val2; } public static void Main() { var dic =…

コンテナのイテレータを保持するのは避けよう

STLとかのコンテナが吐き出すイテレータをポインタ代わりに持っとくのはやめましょうねというお話。 コンテナへの非const操作はイテレータを破壊する(可能性がある) 「可能性がある」だから余計厄介だったりする。 テストケースではうまく動いても実環境では…

neosnippetに自分のスニペットを追加する

Vim

前回の記事ではneosnippetを導入したが、自作のスニペットを使いたくなったので方法をメモ。 neosnippetの設定 まずは、スニペットファイルの保存先を指定する。 プラグイン起動時の設定に一行追加する。 let g:neosnippet#snippets_directory = ~/.vim/dein…

OOP初心者がブロック崩しを作ってみる その2

※この記事は「OOP初心者がブロック崩しを作ってみる その1」の続きです 衝突判定を考える さて、衝突判定のやり方を考えよう。 衝突はボールとReflectorの間で起こる。とりあえず以下のようにクラス分けしてみる。 ReflectorCollectionにReflectorを全て格納…

バッファの内容を変数に読み込む方法

Vim

日本語で調べても一切情報が出てこなかったので焦った。 方法 :%y [レジスタ名] :let content = @[レジスタ名] 一旦レジスタにヤンクしてから、その内容を変数に入れる。 @[レジスタ名]でレジスタの内容を参照できるようだ。