d
This commit is contained in:
@@ -9,7 +9,6 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
1F083A14C69F20A6BA92A63E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F16A7DD61EF6CD4FB4E3DE25 /* AppDelegate.swift */; };
|
||||
3D03666F3BC2B1F2CBB49530 /* Main.SectionSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */; };
|
||||
4AC2B8BF716272D446F9E7E0 /* uts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 721855DB1A329E65128E36B5 /* uts.swift */; };
|
||||
79FB208C9DADDA6179E588C3 /* Main.SectionGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AC22F19366076CF4168BFBD /* Main.SectionGrid.swift */; };
|
||||
89086E3972F560A9A1A76CE4 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C71EDBDFFDBC96F6E8E7762 /* Model.swift */; };
|
||||
B19B3998FA2BA651ACB1E53C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C1742EFC5A1E818780679340 /* Assets.xcassets */; };
|
||||
@@ -18,13 +17,14 @@
|
||||
D505E64F4CD6EAEB530BF851 /* Main.Section16Buttons.swift in Sources */ = {isa = PBXBuildFile; fileRef = A38A1AA6B57483F6B44CDF78 /* Main.Section16Buttons.swift */; };
|
||||
DB1010B8A246D47BEC6B3FA6 /* Main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DF762100A8EDF105B6E136D /* Main.swift */; };
|
||||
EB8CC50236A211D932BA0DB0 /* Main.Platform.swift in Sources */ = {isa = PBXBuildFile; fileRef = A355A898E25602F45B88CCBA /* Main.Platform.swift */; };
|
||||
F368609CC7635D385838A386 /* platfrom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F3E3A0EC0B9264E001C3DBC /* platfrom.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0DF762100A8EDF105B6E136D /* Main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.swift; sourceTree = "<group>"; };
|
||||
0F3E3A0EC0B9264E001C3DBC /* platfrom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = platfrom.swift; sourceTree = "<group>"; };
|
||||
4E32B0495E4BCEA4EE0508D4 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.SectionSelection.swift; sourceTree = "<group>"; };
|
||||
721855DB1A329E65128E36B5 /* uts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = uts.swift; sourceTree = "<group>"; };
|
||||
9AC22F19366076CF4168BFBD /* Main.SectionGrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Main.SectionGrid.swift; sourceTree = "<group>"; };
|
||||
9C71EDBDFFDBC96F6E8E7762 /* Model.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = "<group>"; };
|
||||
9D774FEE86833E8A0A74387C /* App.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -57,7 +57,7 @@
|
||||
6D5F2B2E3A26F03F6825608E /* Main.SectionSelection.swift */,
|
||||
0DF762100A8EDF105B6E136D /* Main.swift */,
|
||||
9C71EDBDFFDBC96F6E8E7762 /* Model.swift */,
|
||||
721855DB1A329E65128E36B5 /* uts.swift */,
|
||||
0F3E3A0EC0B9264E001C3DBC /* platfrom.swift */,
|
||||
);
|
||||
name = src;
|
||||
path = ../src;
|
||||
@@ -149,8 +149,8 @@
|
||||
3D03666F3BC2B1F2CBB49530 /* Main.SectionSelection.swift in Sources */,
|
||||
DB1010B8A246D47BEC6B3FA6 /* Main.swift in Sources */,
|
||||
89086E3972F560A9A1A76CE4 /* Model.swift in Sources */,
|
||||
F368609CC7635D385838A386 /* platfrom.swift in Sources */,
|
||||
BE2994BF2FFF272E62883953 /* swift.swift in Sources */,
|
||||
4AC2B8BF716272D446F9E7E0 /* uts.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
Binary file not shown.
23
iOS/src/platfrom.swift
Normal file
23
iOS/src/platfrom.swift
Normal file
@@ -0,0 +1,23 @@
|
||||
import Foundation
|
||||
|
||||
// Memory.
|
||||
|
||||
struct PositionInstance: Position {
|
||||
var x: Float
|
||||
var y: Float
|
||||
}
|
||||
|
||||
func memoryCreatePosition(_ x: Float, _ y: Float) -> PositionInstance {
|
||||
return .init(x: x, y: y)
|
||||
}
|
||||
|
||||
|
||||
// UTS.
|
||||
|
||||
func utsFloor(_ value: Float) -> Float {
|
||||
floor(value)
|
||||
}
|
||||
|
||||
func utsIndexArray(_ count: Float) -> [Int] {
|
||||
[Int](0..<Int(count))
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
func utsIndexArray(_ count: Float) -> [Int] {
|
||||
[Int](0..<Int(count))
|
||||
}
|
||||
@@ -24,13 +24,14 @@ func memoryItemPositions(c: Context) -> [Position] {
|
||||
|
||||
// @ts-ignore
|
||||
let ids = utsIndexArray(c.itemsCount);
|
||||
ids.forEach(i => {
|
||||
ids.forEach { ii in
|
||||
let i = Float(ii);
|
||||
// @ts-ignore
|
||||
let row = utsFloor(i / 4)
|
||||
let x = memoryGap() + (i - row * 4) * memoryGap()
|
||||
let y = memoryGap() + row * memoryGap()
|
||||
// @ts-ignore
|
||||
pos.push(memoryCreatePosition(x, y))
|
||||
})
|
||||
}
|
||||
return pos
|
||||
}
|
||||
|
||||
23
toSwift
23
toSwift
@@ -15,6 +15,7 @@ let globalReplacements = {
|
||||
"number": "Float",
|
||||
"):": ") ->",
|
||||
"interface": "protocol",
|
||||
"})": "}", // forEach
|
||||
};
|
||||
|
||||
console.log(`Converting '${fileSrc}' to '${fileDst}'`);
|
||||
@@ -40,11 +41,31 @@ function convert(line) {
|
||||
}
|
||||
result = protocolReplace(result);
|
||||
result = typeArrayReplace(result);
|
||||
result = forEachReplace(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
var isProtocol = false;
|
||||
|
||||
// x.forEach(y => { -> x.forEach { y in
|
||||
function forEachReplace(line) {
|
||||
if (!line.includes("forEach")) {
|
||||
return line;
|
||||
}
|
||||
|
||||
let partsFE = line.split("forEach");
|
||||
let identifier = partsFE[0];
|
||||
let closure = partsFE[1];
|
||||
|
||||
let partsC = closure.split(" => ");
|
||||
let bracketAndVar = partsC[0];
|
||||
let bracket = partsC[1];
|
||||
let variable = bracketAndVar.substring(1);
|
||||
let result = `${identifier}forEach { ${variable} in`;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
var isProtocol = false;
|
||||
// interface -> protocol
|
||||
function protocolReplace(line) {
|
||||
if (line.includes("protocol")) {
|
||||
|
||||
9
будущее
9
будущее
@@ -1,13 +1,6 @@
|
||||
09.06: 19:00-
|
||||
|
||||
* заменить for на forEach в TS
|
||||
* ввести функцию заполнения массива индексами: utsIndexArray
|
||||
* ввести utsFloor
|
||||
* ввести utsIndexArray в Swift
|
||||
|
||||
НАДО:
|
||||
* ввести utsFloor в Swift
|
||||
* конвертировать forEach
|
||||
* поправить Floor i/4
|
||||
* перейти на один файл swift
|
||||
* генерить memoryItemPositions.swift
|
||||
* ввести общую библиотеку?
|
||||
|
||||
Reference in New Issue
Block a user