私はしばらくの間AS3プロジェクトに取り組んできましたが、壁にぶつかったと思います。私のプロジェクトでは、一連の要素をCircular ListCircular List
に配置する必要があるため、以前に C# で行った に自分自身をコピーしました。
問題は、 Genericsの使用に大きく依存していたことです。今、私はそれらを持っていません。
ここにコードがあります。変数のT
型は、私が存在したいジェネリックを表します。
Node.as:
パッケージ { パブリック クラス ノード { var nodeContent:T; var nextNode:ノード; 関数 Node(nodeElement:T) { this.nodeContent = nodeElement; } } }
CircularList.as:
package
{
public class CircularList
{
var head:Node;
var tail:Node;
var listLength:int;
function CircularList()
{
this.head = null;
this.tail = null;
this.listLength = 0;
}
function Add(addition:T)
{
adding:Node = new Node(addition);
if(this.head == null)
{
this.head = adding;
this.tail = adding;
head.nextNode = tail;
tail.nextNode = head;
}
else
{
tail.nextNode = adding;
tail = adding;
tail.nextNode = head;
}
listLength++;
}
function Find(requested:T):Node
{
var finder:Node = null;
var searching = head;
var i:int;
while(i <= listLength)
{
if(searching.nodeContent == requested)
{
finder = searching;
}
searching = searchig.nextNode;
i++;
}
return finder;
}
}
}
ジェネリックなしでこれを機能させる方法はありますか?
編集:これに関する本当の問題は、 Node クラスのNodeContentをオブジェクトにしたいということです。基本的には円形のテーブルに座っている人のリストを作成したいのですが、この問題のために特別に作成されたものではなく、再利用できるコードが必要です