スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

Mac Homeキー Endキー PageUpキー PageDownキー

MacBookAirを使い始めて約1年。Homeキーとかどこにあるのか分からないまま過ごしてきましたが、時間があったので少し調べてみました。

どうやら「fnキー+矢印」でその4つのキーになるらしいです。対応付けはよく覚えてないです。

参考URL:http://hajimemasita.blogspot.jp/2007/11/homeendpageuppagedown.html

VC++2010 一行関数

VC++2010でList関数を使っているのですが、remove_ifという関数で関数を引数に取って、その関数がtrueを返したら削除するといったことができます。
ActionScriptとか書いてると当たり前のように匿名関数とか関数を引数に渡すとかしているんですが、VC++2010だとそういうことって出来ないのかなって思ってたらありました。

(関数内で使いたい変数)[引数]{return 処理;}

といった感じで書けるそうです。実際にremove_ifで使うと、

list ids;
int target = 11;
ids.remove_if((target)[int id]{return (id==target);});

といった感じです。targetと等しい要素が削除されます。

VC++2010 DirectInput

最近また少しVC++でプログラムを書いているのですが、以前作成したDirectInputを使ったプログラムがビルドできませんでした。
以前はVC++2008で作成していて、今回はVC++2010です。

結論だけ言ってしまうと、Includeファイルがデフォルトで存在するようになった?ようです。
つまり、プロジェクトの「追加のIncludeパス」にDirectXのIncludeパスを入れてしまうと、古い方?が読み込まれてしまってビルドできません。Includeパスには何も追加せず、ライブラリだけ追加すればビルドできるようです。

javascript loop

javascriptでアニメーションを描くときに、Sleep()みたいなのをいれながらループしたいなぁと思うことが多々あるのですが、そのコードの書き方。

window.Test = function(){};

window.Test.prototype = {
loop : function(){
// ここにアニメーションしたいコードを書く。

var obj = this;
setTimeout(function(){
obj.loop.apply(obj);
},100);
}
};

javascriptにはsleep関数がないので、setTimeout()を使う必要があります。ここで、単にloop()を呼び出すと、thisが違うものになってしまうので、apply()を使う必要があります。
独自にjavascriptの仕様を見て書いたので、これがスタンダートだとは思いませんが・・・。普通にライブラリとか使ったほうが早いかもしれませんね。

Mac シェルスクリプト

Macでシェルスクリプトを書くときに、改行をCR(Mac)でやると認識できないようです。改行はLF(Unix)で書く必要があるみたいです。
プロフィール

ニックネーム:sin

趣味でプログラムの作成などをしています。

Google+1
最新記事
カテゴリ
検索フォーム
リンク
最新コメント
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる