LMs // Simplify data reading process.
This commit is contained in:
parent
05d9c252cf
commit
3bd8fa1ea7
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue