На текущий момент:
Поправил баг с IF... THEN... ELSE....END IF
Переработал основные функции языка cint, fix, val... и др.
Добавляю списки LIST и Dictionary (под капотом deque и unordered_map)
И ещё реализую For Each для LIST и Dictionary
А массивы итерируются только по счетчику? Или можно будет прогнать как список?
Ну и к дизайну... - Dictionary - как то звучит и пишется не айс. в БлицМаксе оно называется "TMap" ну или "Map". Есть также вариант "THash" или же "Hash".
LIST и Dictionary - это названия из vb.net все кто на бейсике пишут привыкли к ним
Map и Hash - это ближе к Си-языкам
mingw
> А массивы итерируются только по счетчику?
Именно массивы реализованы как классы ARRAY(_DYNAMIC\_STATIC\_STATIC_2D\_STATIC_3D)
да, пока так
и если честно не вижу смысла их гонять как список
только если ради синтаксического сахара)
LIST, Dictionary и For Each
заработали
вот пример кода:
DIM list2 AS DICTIONARY(OF STRING, INTEGER) DIM list3 AS LIST(OF INTEGER) list2.ADD("1", 1) list2.ADD("2", 2) list3.ADD(5) list3.ADD(6) FOR EACH l2 AS KEYVALUEPAIR(OF STRING, INTEGER) IN list2 PRINT l2.KEYPAIR & " " & l2.VALUEPAIR & VBCRLF NEXT FOR EACH l3 AS INTEGER IN list3 PRINT l3 & VBCRLF NEXT
Поправил баги,
начал работу по добавлению StringBuilder и Date (только основу)
Сделал два варианта объявления массива:
ARRAY_DYNAMIC textcpp(1) AS STRING
или
DIM textcpp(1) AS ARRAY_DYNAMIC(OF STRING)
- решил пока оставить оба