summaryrefslogtreecommitdiff
path: root/examples/chemicalFormulas.py
diff options
context:
space:
mode:
authorptmcg <ptmcg@austin.rr.com>2020-04-26 10:33:12 -0500
committerptmcg <ptmcg@austin.rr.com>2020-04-26 10:33:12 -0500
commit203fa36d7ae6b79344e4bf13531b77c09f313793 (patch)
tree443459f498f38b97618344c6f707eeaa117cf670 /examples/chemicalFormulas.py
parent813ba3bed433a96e02d82cad2e2940a6850d96a5 (diff)
downloadpyparsing-git-203fa36d7ae6b79344e4bf13531b77c09f313793.tar.gz
change some lambdas to explicit methods for clarity (see discussion in #207); deleted duplicated examples (commit *all* changes this time)
Diffstat (limited to 'examples/chemicalFormulas.py')
-rw-r--r--examples/chemicalFormulas.py36
1 files changed, 27 insertions, 9 deletions
diff --git a/examples/chemicalFormulas.py b/examples/chemicalFormulas.py
index f4725ed..f7c7d14 100644
--- a/examples/chemicalFormulas.py
+++ b/examples/chemicalFormulas.py
@@ -26,7 +26,11 @@ element = pp.Word(pp.alphas.upper(), pp.alphas.lower(), max=2)
elementRef = pp.Group(element + pp.Optional(pp.Word(digits), default="1"))
formula = elementRef[...]
-fn = lambda elemList: sum(atomicWeight[elem] * int(qty) for elem, qty in elemList)
+
+def sum_atomic_weights(element_list):
+ return sum(atomicWeight[elem] * int(qty) for elem, qty in element_list)
+
+
formula.runTests(
"""\
H2O
@@ -34,7 +38,9 @@ formula.runTests(
NaCl
""",
fullDump=False,
- postParse=lambda _, tokens: "Molecular weight: {}".format(fn(tokens)),
+ postParse=lambda _, tokens: "Molecular weight: {}".format(
+ sum_atomic_weights(tokens)
+ ),
)
print()
@@ -44,9 +50,11 @@ elementRef = pp.Group(
)
formula = elementRef[...]
-fn = lambda elemList: sum(
- atomicWeight[elem.symbol] * int(elem.qty) for elem in elemList
-)
+
+def sum_atomic_weights_by_results_name(element_list):
+ return sum(atomicWeight[elem.symbol] * int(elem.qty) for elem in element_list)
+
+
formula.runTests(
"""\
H2O
@@ -54,7 +62,9 @@ formula.runTests(
NaCl
""",
fullDump=False,
- postParse=lambda _, tokens: "Molecular weight: {}".format(fn(tokens)),
+ postParse=lambda _, tokens: "Molecular weight: {}".format(
+ sum_atomic_weights_by_results_name(tokens)
+ ),
)
print()
@@ -63,7 +73,11 @@ integer = pp.Word(digits).setParseAction(lambda t: int(t[0]))
elementRef = pp.Group(element("symbol") + pp.Optional(integer, default=1)("qty"))
formula = elementRef[...]
-fn = lambda elemList: sum(atomicWeight[elem.symbol] * elem.qty for elem in elemList)
+
+def sum_atomic_weights_by_results_name_with_converted_ints(element_list):
+ return sum(atomicWeight[elem.symbol] * int(elem.qty) for elem in element_list)
+
+
formula.runTests(
"""\
H2O
@@ -71,7 +85,9 @@ formula.runTests(
NaCl
""",
fullDump=False,
- postParse=lambda _, tokens: "Molecular weight: {}".format(fn(tokens)),
+ postParse=lambda _, tokens: "Molecular weight: {}".format(
+ sum_atomic_weights_by_results_name_with_converted_ints(tokens)
+ ),
)
print()
@@ -98,6 +114,8 @@ formula.runTests(
NaCl
""",
fullDump=False,
- postParse=lambda _, tokens: "Molecular weight: {}".format(fn(tokens)),
+ postParse=lambda _, tokens: "Molecular weight: {}".format(
+ sum_atomic_weights_by_results_name_with_converted_ints(tokens)
+ ),
)
print()