71件中 1-5件目     [ 1 2 3 4 5 6 7 8 9 10 ... ]

標準入力に何かを入力させて処理をするプログラムをデバッグする場合、何度も同じ入力を繰り返すことがよくある。そんなときには入力データをファイルとして用意して、パイプとリダイレクションを使ってファイルに入出力をすると便利だが、それ以外にもfreopen関数を使う方法もある。Windows上でVisual Studioのような統合開発環境を使って開発をしている場合には、こちらの方が便利かもしれない。


以前『全ての組み合わせを作る[C++]』で書いたnext_combination関数を使えば、全ての重複組み合わせを作るのも簡単にできそうだったので作ってみた。


Google App Engineにはデータをアップロードしたりダウンロードできるbulkloaderがあるが、bulkloaderでファイルのデータ(db.BlobProperty)などをアップロードしようとすると、フィールドのサイズが大きすぎるためエラーがでることがある。

Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 1385, in run
    self.PerformWork()
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 1497, in PerformWork
    for item in content_gen.Batches():
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 471, in Batches
    self._ReadRows(key_start, key_end)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 394, in _ReadRows
    row = self.reader.next()
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 514, in Records
    limit = e.args[1]
IndexError: tuple index out of range

c++には可変長配列のstd::vectorがあるが、std::vectorでは配列の範囲外にアクセスしたときに自動でサイズを拡張せずにエラーを吐くため、値を代入するときにサイズをチェックしなければならないことがある。勝手にサイズが拡張されてしまうとバグを見逃す可能性が増えるため一長一短ではあるが、テスト用コードを書く場合などはいちいちサイズをチェックしなくても勝手にサイズを拡張してほしい。


Pythonには辞書があるため、無名クラスや匿名クラスなどと言われるものが必要になることはあまりないが、引数に簡単なクラスのインスタンスを取る関数などを使う場合に無名クラスがほしいこともある。

Pythonでは以下のように、オブジェクトの型を調べるtypeを使って、無名クラスを作ることができる。

obj = type('',(),{})()

71件中 1-5件目     [ 1 2 3 4 5 6 7 8 9 10 ... ]