2012-01-01から1年間の記事一覧

for

カレントディレクトリに任意名に末尾2桁数値を付けたファイルを作成する。 for /l %i in (0, 1, 10) do if %i LSS 10 (copy nul "ほげほげ_0%i.txt") else (copy nul "ほげほげ_%i.txt") nul "ほげほげ_%i.txt")/Lオプションはfor文の括弧に対し、(初期値,ス…

variadic templates

template引数を可変長なものとして受け取ることが出来る。 templte<class... Args> class VariadicTemplate{}; VariadicTemplate< int, double, float > a; VariadicTemplate< std::string, std::vector<int> > b; VariadicTemplate<> c; // 引数無し 引数Argsのことはテンプレー</int></class...>…

最新のg++コンパイラをCygwin上で導入する②

c++11の機能が当方環境のVC++2010では少し弱いので、VC2012のExpress版を入れればいいかなと思ったのですが、 どうも形態が変わってるらしく、90日間しか体験できないみたいので、 前回挫折したGCCを再び入れることにした。前回の記事 最新のg++コンパイラを…

delegate実装

#define DELEGATE_DO_IMPL( ARGS_LIST ) \ for ( auto it = begin( Delegate ); it != end( Delegate ); ++it ) {\ (*it) -> Do##ARGS_LIST;\ } #define DELEGATE_DECLARATION( CLASS_NAME, PARAM_DECL_LIST, PARAM_LIST, ARGS_LIST ) \ {\ struct EventBase…

インデクサ

C#

C#では[]演算子のオーバーロードを行う場合、インデクサというものを使用します。 using System; using System.Collections; class IndexerDemo{ private Hashtable ht = new Hashtable(); /// Constructor public IndexerDemo() { ht.Add("one", 1); ht.Add…

プロパティ

C#

オブジェクトのプロパティを介して、データの読み込み・変更を行うことが出来ます。 class PropDemo{ private int n; private bool valid; /// Property /// Property can not overloading. public int MyProperty { // get accessor get { return n; } // s…

お勉強がしたい

3月くらいから仕事が忙しくて、全然勉強できてない。 もっといろんな言語勉強したいなあ。1ヶ月くらい前にDeusExというゲームをSteamで購入したのですが、あんなゲーム作りたいなあ。 1年くらい山に籠る勢いで、勉強したい。

lambda syntax

便利ですね。 コピーキャプチャした変数はconst修飾されているので、値を変更するためにはmutableを使わないといけません。 template <typename Func> void world(Func func) { func(); } std::function< void ( const string& ) > gFunc(const string param) { return [ = </typename>…

最新のg++コンパイラをCygwin上で導入する

※3/27更新 gcc4.6.0の更新はこの方法で可能ですが、現在の最新バージョン4.7はこの方法では不可能でした。笑 うーむ。 ※8/21更新 出来ました。 最新のg++コンパイラをCygwin上で導入する② - 頑張って続けます windowsでメジャーなコンパイラといったらVisual…

コンテキストメニューにbash hereを追加する

Cygwinをカレントディレクトリで開きたい場合、 またコマンドプロンプトをCtrl押さなくても表示するようにしたい。 regedit.exeを開く。 とりあえずHKEY_CLASSES_ROOTのバックアップを取る。(ファイル->エキスポート) HEKY_CLASSES_ROOT/Directory階層を開く…

カレントディレクトリをエクスプローラで開く

Cygwinの場合、 Cygstart .コマンドプロンプトの場合、 explorer . 又は start .explorerでコマンドが無いといわれたら%windir%\explorerで出来る。

QThread

PyQtに実装されてある非同期処理です。 import sys from PyQt4 import QtCore from PyQt4 import QtGui class Worker(QtCore.QThread): mutex = QtCore.QMutex() def __init__(self, name = "", parent = None): QtCore.QThread.__init__(self, parent) self…

FBXアニメーションデータを編集できるようにする

FBXモデルをインポートしたとき、アニメーション情報は上書きを防ぐためreadonlyになっています。 この状態だと編集、イベントコールの設定など出来ません。 解決策は、新しいanimファイルを作成しアニメーションデータをコピーします。 するとそれはリンク…

threading.semaphore

semaphore排他オブジェクトです。 threading.Semaphoreとthreading.BoundedSemaphoreがあります。 import time import thread import threading import random counter = 0 counter = 0 def semaphore_func(semaphore): with semaphore: thread_func() globa…

threading.Condition

Conditionという排他オブジェクトです。 import time import threading class MyThread(threading.Thread): lock = threading.Lock() def __init__(self, name, lifetime, condition): threading.Thread.__init__(self) self.lifetime = lifetime self.condi…

threading.Event

1回書いたのに記事が消えてしまった・・・ソースだけ貼って寝よう import time import thread import threading end_count = 3 def thread_func(event, counter): time.sleep(2) while len(counter) < end_count: while not event.isSet(): print "wait result:…

threading.Lock

うちの64bitパチコンだとpyscripterの挙動がおかしいよ。結構まえからいろいろおかしかったのでインストールし直したけどなんかダイアログ出てきて開けなくなったので(前はどうにかして開けるようにした)、めんどくさいので諦めて、Spyderで書いてます。thre…

AndroidSDK更新作業

AndroidSDK4.0.3落としたときの作業メモ。http://developer.android.com/sdk/index.html ここからインストーラを落とす。 起動して、既にあるSDKの場所のパスを指定する。 SDKマネージャが開かれるので、欲しいバージョンをインストールする。 このSDKマネー…

QProgressBar

import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() # create layout self.vbox = QtGui.QVBoxLayout(self) # #self.vbox.setSizeConstraint(QtGui.QLayout.SetMaximumSize) #…

スクリプトオブジェクトを生成するには

Newで生成しようとすると失敗する。 Script script = new Script(); You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can in…

QCheckBox

import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() self.cb = QtGui.QCheckBox('&Show title', self) self.cb.move(20, 20) # 状態を3つに増やす self.cb.setTristate() # s…

QSlider

import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QWidget): def __init__(self): super(Example, self).__init__() # mainlayout hbox = QtGui.QVBoxLayout(self) # background self.bgColor = QtGui.QColor(0, 0, 0) self.bg = QtGui.QFra…