From 969977f09b7b940e65c98eff4bbc1fdb8b3d918b Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Thu, 8 Dec 2022 14:46:43 +0800 Subject: [PATCH] LMInstantiator // Allow querying inventory status from factory dictionary only. --- .../Sources/LangModelAssembly/LMInstantiator.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMInstantiator.swift b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMInstantiator.swift index b3c63a96..b913b72f 100644 --- a/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMInstantiator.swift +++ b/Packages/vChewing_LangModelAssembly/Sources/LangModelAssembly/LMInstantiator.swift @@ -293,9 +293,12 @@ extension vChewingLM { /// - Parameters: /// - key: 索引鍵陣列。 /// - value: 資料值。 + /// - factoryDictionaryOnly: 是否僅自原廠辭典確認在庫。 /// - Returns: 是否在庫。 - public func hasKeyValuePairFor(key: [String], value: String) -> Bool { - unigramsFor(keyArray: key).map(\.value).contains(value) + public func hasKeyValuePairFor(key: [String], value: String, factoryDictionaryOnly: Bool = false) -> Bool { + factoryDictionaryOnly + ? lmCore.unigramsFor(key: key.joined(separator: "-")).map(\.value).contains(value) + : unigramsFor(keyArray: key).map(\.value).contains(value) } /// 給定讀音字串,讓 LMI 給出對應的經過處理的單元圖陣列。