1
名前:ベクトル
日付:2010/05/30(日)23:22:33
ID:CFxHATZ7LEjv
行列をvectorクラスで作成したいのですが、
arrayを作成するときのようにすべての要素を一度に作成することはできますか?
arrayのとき:
var amat:Array=[[1,2,3],[4,5,6],[7,8,9]];
vectorのとき:
var vmat:Vector.<Vector.<uint>>;
vmat=Vector.<Vector.<uint>>([[1,2,3],[4,5,6],[7,8,9]]);
//正しく作成されない
//カラのvectorが作成される
vmat=Vector.<Array>([[1,2,3],[4,5,6],[7,8,9]]);
//これならできるが、ベースがArray型になってしまう。
//vectorクラスの利点がフルに活用できない!!
今のところfor文でarrayの各エレメントを一つずつvectorに変換して、
親vectorにconcatしています。
arrayを作成するときのようにすべての要素を一度に作成することはできますか?
arrayのとき:
var amat:Array=[[1,2,3],[4,5,6],[7,8,9]];
vectorのとき:
var vmat:Vector.<Vector.<uint>>;
vmat=Vector.<Vector.<uint>>([[1,2,3],[4,5,6],[7,8,9]]);
//正しく作成されない
//カラのvectorが作成される
vmat=Vector.<Array>([[1,2,3],[4,5,6],[7,8,9]]);
//これならできるが、ベースがArray型になってしまう。
//vectorクラスの利点がフルに活用できない!!
今のところfor文でarrayの各エレメントを一つずつvectorに変換して、
親vectorにconcatしています。
2
日付:2010/05/31(月)13:10:30
ID:2iuB4losX8Zs
こちらの記述で如何でしょう?
var amat:Vector.<Vector.<uint>> = Vector.<Vector.<uint>>([
Vector.<uint>([1,2,3]),
Vector.<uint>([4,5,6]),
Vector.<uint>([7,8,9]),
]);
var amat:Vector.<Vector.<uint>> = Vector.<Vector.<uint>>([
Vector.<uint>([1,2,3]),
Vector.<uint>([4,5,6]),
Vector.<uint>([7,8,9]),
]);
3
日付:2010/06/04(金)21:16:46
ID:CFxHATZ7LEjv
なるほど・・・
うーん
何とかすでにArrayになっている行列を
ドカンと一発でVector.<Vector.<uint>>に変換できませんかね?
うーん
何とかすでにArrayになっている行列を
ドカンと一発でVector.<Vector.<uint>>に変換できませんかね?
4
日付:2010/06/10(木)12:59:28
ID:qPr0YUEfJmUW
cs5以降で可能な記述方法です。
あまり変わりませんが…
var v:Vector.<Vector.<uint>>;
v = new <Vector.<uint>>[
new <uint>[0,1,2],
new <uint>[3,4,5],
new <uint>[6,7,8],
];
あまり変わりませんが…
var v:Vector.<Vector.<uint>>;
v = new <Vector.<uint>>[
new <uint>[0,1,2],
new <uint>[3,4,5],
new <uint>[6,7,8],
];
このスレッドについて
質問の状態 : | 未解決 |
投稿開始日 : | 2010/05/30(日)23:22:33 |
投稿終了日 : | 2010/06/10(木)12:59:28 |
投稿者 : | ベクトル |
レス総数 : | 4 |
スレッド番号 : | 26 |