Inheritence |
|
これは、アトリビュートパターンから構築可能なパターンマッチングオブジェクトです。 pdg.WorkItem.attribMatch関数と併用することで、マッチしたワークアイテムアトリビュート名のリストを取得することができます。
このパターンは、アトリビュートパターン構文セクションで指定されているルールを使用します。
メソッド
静的メソッド
isValidName(attrib_name)
→ bool
指定した名前が有効なアトリビュート名であればTrue
、そうでないならFalse
を返します。
makeValidName(attrib_name)
→ bool
指定した文字列を有効なアトリビュート名に変換します。
splitByAttribute(work_items, attrib_names, partial_matches=False)
→ tuple
入力リスト内のワークアイテムを、指定したアトリビュート名(s)で分割します。 アトリビュート値とその値を持ったワークアイテムのリストのマップ、そのアトリビュートが見つからなかったワークアイテムのリスト、固有な値のリストを返します。 この固有な値のリストは、値の昇順でソートされます。
ワークアイテム上のattrib_name
のどの値も同じタイプである必要はありません。
どのアトリビュート値も文字列に変換されます。
スペース区切りの文字列で複数のアトリビュート名を渡すことができます。
複数のアトリビュート名をこの関数に渡すと、それらのアトリビュート値は単一値ではなくタプルとして扱われます。
複数のアトリビュート名を指定する時、partial_matches
フラグは、それらのアトリビュートのどれかだけ持ったワークアイテムも部分マッチしたマップエントリーに追加すべきかどうかを示します。
例:
attribute = "wedgeindex" (value_map, missing, unique) = pdg.AttributePattern.splitByAttribute(node.work_items, attribute) print("Attribute {} has {} unique values".format(attribute, len(unique))) for work_item in missing: print("Work Item {} is missing attrib {}".format(attribute)) for entry in value_map: print("{} work items have value {}".format(len(value_map[entry]), entry))
splitByFloat(work_items, attrib_name)
→ tuple
指定したfloatアトリビュート名で入力ワークアイテムを分割します。
この関数はsplitByAttribute
と同様ですが、アトリビュート値を文字列に変換しません。
指定した名前のアトリビュートを持ったワークアイテムではあるものの、そのアトリビュートのタイプが異なっている場合は、そのアトリビュートが見つからないワークアイテムとして考慮されます。
splitByInt(work_items, attrib_name)
→ tuple
指定した整数アトリビュート名で入力ワークアイテムを分割します。
この関数はsplitByAttribute
と同様ですが、アトリビュート値を文字列に変換しません。
指定した名前のアトリビュートを持ったワークアイテムではあるものの、そのアトリビュートのタイプが異なっている場合は、そのアトリビュートが見つからないワークアイテムとして考慮されます。
splitByString(work_items, attrib_name)
→ tuple
指定した文字列アトリビュート名で入力ワークアイテムを分割します。
この関数はsplitByAttribute
と同様です。
指定した名前のアトリビュートを持ったワークアイテムではあるものの、そのアトリビュートのタイプが異なっている場合は、そのアトリビュートが見つからないワークアイテムとして考慮されます。
インスタンスメソッド
__init__(pattern)
指定した文字列から新しいパターンオブジェクトを構築します。
contains(name, type)
→ bool
指定したアトリビュート名とアトリビュートタイプがパターンに合致した場合はTrueを返し、そうでない場合はFalseを返します。
type
にはpdg.attribTypeを指定してください。
Methods from pdg.BasePattern
errors
: str
Property
パターンが無効だった場合、この文字列には分析エラーが含まれます。
isValid
: bool
Property
パターンが有効だった場合、Trueに設定されます。 無効だった場合、Falseに設定されます。
pattern
: str
Property
このパターンオブジェクトの構築に使用するソース文字列。