D言語の動的配列

D言語の動的配列は、C言語などの配列とはかなり違うので、そのへんをつらつらと語っていきます。

Dartで遊んでみよう.2 [vs JSX その1]

こんばんは! 第二回はDartと他の言語との比較ということで、DeNA発のJSXというプログラミング言語との比較を行なってみようと思います。vs JSXです! 1回では纏まりそうにないので、複数回に分けていこうと思います。 それでは、軽くJSXの説明を行います。D…

D言語の標準ライブラリを読む read!(std.functional, 2)

前回に引き続き、今回もPhobosのstd.functionalを読んでいきます。 今回は、 std.functional.memoizeを読みます。

Dartで遊んでみよう.1

――― 「Dartってプログラミング言語知ってる?」「知らない」 いきなりこのような見出しで始まりました「Dartで遊んでみようシリーズ」ですが、今日は最初ということで「Dartの紹介」と「『Dartって新しいくせに特徴全然無いよね』とか言われて悲しい」をテー…

D言語の標準ライブラリを読む read!(std.functional, 1)

D言語を勉強したいなら、標準ライブラリであるPhobosを読めとよく言われています。 D言語の機能の殆どは、Phobos内で使われていると言っても過言ではないでしょう。 そんなわけで、std.functionalモジュールのソースコードを読んでいきます。

関数分けの効用

通常、プログラムを書くときは、処理をただ順番に書き下すのではなく、いくつかの「関数」に分割します。 これによって各ステップの処理が部品化され、再利用が可能になるわけですが、関数分けの効用はそれだけに留まりません。 例え、たった一度しか実行さ…

構造体によるデータ集約

個人的な観測範囲内での話ですが、「プログラマ」と呼ばれる人の中には、自分で構造体 (あるいはクラス) を定義することを面倒臭がり、これをしないで済ませようとする人が少なくありません。 彼らは、本来構造体として集約されるべきデータをプリミティブ (…

C++の std::unique と、Ruby の Array#uniq の本質的な違い

配列から重複した要素を取り除きたいとき、C++ では STL の std::unique を、Rubyでは Array#uniq を使うことが出来ます。 C++ Ruby #include <iostream> #include <algorithm> int main(){ int v[] = {1, 2, 2, 3, 3, 3}; int len = sizeof(v) / sizeof(v[0]); int *end = std::u</algorithm></iostream>…

32ビット環境で64ビット整数を扱う (乗法編)

これまでの記事では、32ビット環境における64ビットの加法および減法につい...

Array クラスを作る (size フィールド編)

Java では、配列の要素数をフィールド length を通じて参照するこ...

ビット演算の基礎

ビット演算を使用すると、1つの整数型データをビット単位で区切って、複数の用途に割り当てることができます。 例えば、符号なし整数 (unsigned int) のデータ長が32ビットの環境であれば、一つの変数で32個の真理値 (bool: true/false に相当) を格納するこ…

参照の配列は何故作れないか

さて問題です。次のコードの実行結果はどうなるでしょうか? #inclu...

32ビット環境で64ビット整数を扱う (減法編)

32ビット環境で64ビット整数を扱う (加法編) の続き。 今回は、加...

カウンタ付き参照

C++ では、new を用いてオブジェクト (メモリ領域) を確保したなら...

C++ スタイルのキャスト

C言語では、キャスト (型変換) を以下のような形式で行います。 ( ...

Ruby でローカルスコープを作る

必要に迫られて、ローカルスコープを作り出す関数を作ってみました。 ...

オブジェクト指向のメリット (カプセル化編)

Eyes, JAPAN では、ソフトウェア開発には専ら C++, Java, Ruby などの オブジェクト指向プログラミング言語を用いています。(一部例外もありますが。) ところで、「"オブジェクト指向" とは何か?」と問われたとき、「○○○○のことだ」とはっきり答えることの…

Array クラスを作る (演算子編)

"Array クラスを作る" シリーズの 4回目です。 今回は、各種演算子の定義について解説します。 過去の内容については、以下の記事を参照してください: Array クラスを作る (導入編) Array クラスを作る (コンストラクタ編) Array クラスを作る (デストラクタ…

XFile方言アレコレ

最近 3ds max から独自形式を吐き出すエクスポーターを作成しているのですが、その際 3d, xfile, maxsdk の仕様など学ぶことがいろいろありました。 今回はその備忘録的な内容です。 まずは独自形式の前に一般的に知られているファイル形式を出力したいと思…

エスケープは出力時に

CGIプログラムは、HTMLを出力とすることが多い (というか殆ど) ため...

FBXファイルを読み込む(スキン情報の取得)

3D

松浦さんから依頼を受けて、Autodesk Maya 等の .fbx 形式から...

モーションキャプチャデータの使い方(計画編)

前回予定していましたFBX形式からメッシュやマテリアル情報を抜き出す方法ですが...

32ビット環境で64ビット整数を扱う (加法編)

通常用いられる整数型 (32ビット符号付き) は -2,147,483,6...

連結リストを作る (1)

C/C++ の配列は、そのサイズをコンパイル時に決定する必要があります。 ...

3Dモデルファイルの独自形式制作(1回目)

C++

3D系プログラムをしていると、どうしてもついて回るのが読み込みモデリングファイ...

VertexDeclarationとFVF

私がよく見ている掲示板で気になる書き込みがありました。 プログラマ独自...

Ruby でも型チェック

動的型付け (スクリプト) 言語では、データ型のチェックが実行時にしか行わ...

Medical show and Business expo 2008 レポート

5月28日から31日にかけまして、東京国際フォーラムにてMedical sho...

Office OpenXMLの解説

GPUで並列処理の続きの記事がまだできていませんので、今回は別の記事を用意しま...

GPUでレイトレーシング (補足)

前回のGPUレイトレーシングについてもう少し補足したほうがよさそうでしたの...