Opened 17 years ago

Closed 17 years ago

#53 closed タスク (fixed)

ArrayListクラスの実装 (System.Collections)

Reported by: イグトランス (egtra) Owned by: dai
Priority: 高-critical Milestone: ablib_α1
Component: ablib Version:
Keywords: Cc:

Description

コレクションの要望は高い。その第一弾としてこのArrayListを実装したい。

Change History (3)

comment:1 by イグトランス (egtra), 17 years ago

Status: newassigned

comment:2 by dai, 17 years ago

Owner: changed from イグトランス (egtra) to dai
Status: assignednew

初期化とAddはほぼ動くようになった。 残された課題は下記の通り。

  • ダウンキャストを可能にし、Operator[]をあらゆるオブジェクトに使えるようにする。
  • 値型を格納できるようにする。
  • ソース中のTODOを検索し、未実装部分を潰す。

さしあたり、ダウンキャストが必需になっているので、実行時型情報の実装を急ぐ(#37)。

comment:3 by dai, 17 years ago

Resolution: fixed
Status: newclosed

rev.213にて、ほぼ対応完了。下記のようなソースコードが動作することを確認した。 As演算子により、ダウンキャスト・アップキャストが可能になっているが、特にダウンキャストの場合はチェック機構が働いていないため、そちらの実装を急ぐ。

#console

#require <Classes\System\Collections\ArrayList.ab>

Dim arrayList As ArrayList

Dim i As Long
For i=0 To 10
	Dim s = "test" + Str$(i)
	arrayList.Add(s)
Next
For i=0 To ELM( arrayList.Count )
	Dim s = arrayList[i] As String
	Print s
Next
Note: See TracTickets for help on using tickets.