Михаил Капелько 10 months ago
parent
commit
56cac34baf
8 changed files with 42 additions and 13 deletions
  1. BIN
      iOS/app/MMMemory.xcodeproj/project.xcworkspace/xcuserdata/mk.xcuserdatad/UserInterfaceState.xcuserstate
  2. +6
    -1
      iOS/src/Main.Platform.swift
  3. +1
    -1
      shared/javaScript.js
  4. +3
    -3
      shared/swift.swift
  5. +1
    -1
      shared/typeScript.ts
  6. +23
    -0
      toSwift
  7. +3
    -7
      будущее
  8. +5
    -0
      прошлое

BIN
iOS/app/MMMemory.xcodeproj/project.xcworkspace/xcuserdata/mk.xcuserdatad/UserInterfaceState.xcuserstate View File


+ 6
- 1
iOS/src/Main.Platform.swift View File

@@ -40,9 +40,14 @@ extension Main {
btn.addTarget(self, action: #selector(Main.Core.selectButton), for: .touchUpInside)
}


let groups = memoryGroups(c: M())

// Выводим номер нажатой кнопки.
didSelectButton
.sink { i in print("ИГР MainP.viewDL didSB: '\(i)'") }
.sink { i in
print("ИГР MainP.viewDL didSB id/group: '\(i)'/'\(groups[Float(i)])'")
}
.store(in: &subscriptions)
}



+ 1
- 1
shared/javaScript.js View File

@@ -7,7 +7,7 @@ function memoryGroups(c) {
var ids = utsIndexArray(c.itemsCount);
ids.forEach(function (i) {
// @ts-ignore
items[i] = utsFloor(Number(i) / 2);
items[Number(i)] = utsFloor(Number(i) / 2);
});
return items;
}


+ 3
- 3
shared/swift.swift View File

@@ -11,13 +11,13 @@ func memoryGap() -> Float {
return memorySide() + memorySpace()
}
func memoryGroups(c: Context) -> Record<Float, Float> {
var items: Record<Float, Float> = {};
func memoryGroups(c: Context) -> [Float: Float] {
var items: [Float: Float] = [:]
// @ts-ignore
let ids = utsIndexArray(c.itemsCount);
ids.forEach { i in
// @ts-ignore
items[i] = utsFloor(Float(i) / 2)
items[Float(i)] = utsFloor(Float(i) / 2)
}
return items;
}


+ 1
- 1
shared/typeScript.ts View File

@@ -17,7 +17,7 @@ function memoryGroups(c: Context): Record<number, number> {
let ids = utsIndexArray(c.itemsCount);
ids.forEach(i => {
// @ts-ignore
items[i] = utsFloor(Number(i) / 2)
items[Number(i)] = utsFloor(Number(i) / 2)
})
return items;
}


+ 23
- 0
toSwift View File

@@ -44,6 +44,7 @@ function convert(line) {
result = protocolReplace(result);
result = typeArrayReplace(result);
result = forEachReplace(result);
result = recordReplace(result);
return result;
}

@@ -100,6 +101,28 @@ function protocolReplaceVariable(line) {
return line;
}

// Record<TypeA, TypeB> -> [TypeA: TypeB]
// Record<TypeA, TypeB> = {} -> [TypeA: TypeB] = [:]
function recordReplace(line) {
if (!line.includes("Record")) {
return line;
}

let partsR = line.split("Record<");
let typesAndEnding = partsR[1];
let partsT = typesAndEnding.split(">");
let types = partsT[0];
let ending = partsT[1];
let swiftTypes = types.split(", ");
let was = `Record<${swiftTypes[0]}, ${swiftTypes[1]}>`;
let now = `[${swiftTypes[0]}: ${swiftTypes[1]}]`;
var result = line;
result = result.replace(was, now);
result = result.replace("] = {};", "] = [:]");
return result;
}


// Type[] -> [Type]
function typeArrayReplace(line) {
let parts = line.split(" ");


+ 3
- 7
будущее View File

@@ -1,12 +1,8 @@

НАДО:
* транслировать Record<type, type> в Swift
* выводить группу элемента при нажатии в iOS
* ввести словари:
* тип - цвет
* id - тип
* new Map?
https://timmousk.com/blog/typescript-dictionary/
* проводить вычисления вывода группы элемента через модель
* swift
* web
* окрашивать элементы в цвета по номерам при выборе
* разрешать выбирать лишь два элемента
* при выборе двух элементов сравнивать их цвет


+ 5
- 0
прошлое View File

@@ -1,3 +1,8 @@
19.06: 25

* транслировать Record<type, type> в Swift
* выводить группу элемента при нажатии в iOS

16.06: 30

* выводить группу элемента при нажатии в web


Loading…
Cancel
Save