diff --git a/Source/Modules/LangModelRelated/SubLMs/lmAssociates.swift b/Source/Modules/LangModelRelated/SubLMs/lmAssociates.swift index 2d8a5ba9..676cb7af 100644 --- a/Source/Modules/LangModelRelated/SubLMs/lmAssociates.swift +++ b/Source/Modules/LangModelRelated/SubLMs/lmAssociates.swift @@ -29,7 +29,6 @@ import Foundation extension vChewing { @frozen public struct LMAssociates { var keyValueMap: [String: [Megrez.KeyValuePair]] = [:] - var theData: String = "" public var count: Int { keyValueMap.count @@ -37,7 +36,6 @@ extension vChewing { public init() { keyValueMap = [:] - theData = "" } public func isLoaded() -> Bool { @@ -52,20 +50,16 @@ extension vChewing { LMConsolidator.fixEOF(path: path) LMConsolidator.consolidate(path: path, pragma: true) + var arrData: [String] = [] + do { - theData = try String(contentsOfFile: path, encoding: .utf8) + arrData = try String(contentsOfFile: path, encoding: .utf8).components(separatedBy: "\n") } catch { IME.prtDebugIntel("\(error)") IME.prtDebugIntel("↑ Exception happened when reading Associated Phrases data.") return false } - let length = theData.count - guard length > 0 else { - return false - } - - let arrData = theData.components(separatedBy: "\n") for (lineID, lineContent) in arrData.enumerated() { if !lineContent.hasPrefix("#") { if lineContent.components(separatedBy: " ").count < 2 { @@ -88,7 +82,6 @@ extension vChewing { } } IME.prtDebugIntel("\(count) entries of data loaded from: \(path)") - theData = "" return true } diff --git a/Source/Modules/LangModelRelated/SubLMs/lmCore.swift b/Source/Modules/LangModelRelated/SubLMs/lmCore.swift index 116881f7..2d45bd92 100644 --- a/Source/Modules/LangModelRelated/SubLMs/lmCore.swift +++ b/Source/Modules/LangModelRelated/SubLMs/lmCore.swift @@ -29,7 +29,6 @@ import Foundation extension vChewing { @frozen public struct LMCore { var keyValueScoreMap: [String: [Megrez.Unigram]] = [:] - var theData: String = "" var shouldReverse: Bool = false var allowConsolidation: Bool = false var defaultScore: Double = 0 @@ -44,7 +43,6 @@ extension vChewing { forceDefaultScore: Bool = false ) { keyValueScoreMap = [:] - theData = "" allowConsolidation = consolidate shouldReverse = reverse defaultScore = scoreDefault @@ -65,20 +63,16 @@ extension vChewing { LMConsolidator.consolidate(path: path, pragma: true) } + var arrData: [String] = [] + do { - theData = try String(contentsOfFile: path, encoding: .utf8) + arrData = try String(contentsOfFile: path, encoding: .utf8).components(separatedBy: "\n") } catch { IME.prtDebugIntel("\(error)") IME.prtDebugIntel("↑ Exception happened when reading Associated Phrases data.") return false } - let length = theData.count - guard length > 0 else { - return false - } - - let arrData = theData.components(separatedBy: "\n") for (lineID, lineContent) in arrData.enumerated() { if !lineContent.hasPrefix("#") { let lineContent = lineContent.replacingOccurrences(of: "\t", with: " ") @@ -122,7 +116,6 @@ extension vChewing { } } IME.prtDebugIntel("\(count) entries of data loaded from: \(path)") - theData = "" return true } diff --git a/Source/Modules/LangModelRelated/SubLMs/lmLite.swift b/Source/Modules/LangModelRelated/SubLMs/lmLite.swift index 2ec05cc3..eddd4dda 100644 --- a/Source/Modules/LangModelRelated/SubLMs/lmLite.swift +++ b/Source/Modules/LangModelRelated/SubLMs/lmLite.swift @@ -29,7 +29,6 @@ import Foundation extension vChewing { @frozen public struct LMLite { var keyValueMap: [String: [Megrez.KeyValuePair]] = [:] - var theData: String = "" var allowConsolidation = false public var count: Int { @@ -38,7 +37,6 @@ extension vChewing { public init(consolidate: Bool = false) { keyValueMap = [:] - theData = "" allowConsolidation = consolidate } @@ -56,20 +54,16 @@ extension vChewing { LMConsolidator.consolidate(path: path, pragma: true) } + var arrData: [String] = [] + do { - theData = try String(contentsOfFile: path, encoding: .utf8) + arrData = try String(contentsOfFile: path, encoding: .utf8).components(separatedBy: "\n") } catch { IME.prtDebugIntel("\(error)") IME.prtDebugIntel("↑ Exception happened when reading Associated Phrases data.") return false } - let length = theData.count - guard length > 0 else { - return false - } - - let arrData = theData.components(separatedBy: "\n") for (lineID, lineContent) in arrData.enumerated() { if !lineContent.hasPrefix("#") { if lineContent.components(separatedBy: " ").count < 2 { @@ -92,7 +86,6 @@ extension vChewing { } } IME.prtDebugIntel("\(count) entries of data loaded from: \(path)") - theData = "" if path.contains("vChewing/") { dump() } diff --git a/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift b/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift index 2dc3c267..5379fcb6 100644 --- a/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift +++ b/Source/Modules/LangModelRelated/SubLMs/lmReplacements.swift @@ -29,7 +29,6 @@ import Foundation extension vChewing { @frozen public struct LMReplacments { var keyValueMap: [String: String] = [:] - var theData: String = "" public var count: Int { keyValueMap.count @@ -37,7 +36,6 @@ extension vChewing { public init() { keyValueMap = [:] - theData = "" } public func isLoaded() -> Bool { @@ -52,20 +50,17 @@ extension vChewing { LMConsolidator.fixEOF(path: path) LMConsolidator.consolidate(path: path, pragma: true) + var arrData: [String] = [] + do { - theData = try String(contentsOfFile: path, encoding: .utf8) + arrData = try String(contentsOfFile: path, encoding: .utf8).components(separatedBy: "\n") + } catch { IME.prtDebugIntel("\(error)") IME.prtDebugIntel("↑ Exception happened when reading Associated Phrases data.") return false } - let length = theData.count - guard length > 0 else { - return false - } - - let arrData = theData.components(separatedBy: "\n") for (lineID, lineContent) in arrData.enumerated() { if !lineContent.hasPrefix("#") { if lineContent.components(separatedBy: " ").count < 2 { @@ -88,7 +83,6 @@ extension vChewing { } } IME.prtDebugIntel("\(count) entries of data loaded from: \(path)") - theData = "" return true }