Anonymous user
XML/XPath: Difference between revisions
→Scala: Use for-comprehension in solutions
(→Scala: Use for-comprehension in solutions) |
|||
Line 2,477:
=={{header|Scala}}==
The
better show the results.
<lang scala>
<lang scala>scala> val xml = <inventory title="OmniCorp Store #45x10^3">▼
scala> val xml: scala.xml.Elem =▼
| <section name="health">
| <item upc="123456789" stock="12">
Line 2,510 ⟶ 2,509:
| </section>
| </inventory>
▲xml: scala.xml.Elem =
<section name="health">▼
<item upc="123456789" stock="12">▼
</item>▼
</item>▼
</section>▼
scala> val firstItem =
| firstSection <- (xml \ "section").headOption
firstItem: scala.xml.Node =▼
| firstItem <- (firstSection \ "item").headOption
| } yield firstItem
▲firstItem: Option[scala.xml.Node] =
<name>Invisibility Cream</name>
<price>14.50</price>
<description>Makes you invisible</description>
</item>)
scala>
| } yield scala.math.BigDecimal(price.text)
prices: List[scala.math.BigDecimal] = List(14.50, 23.99, 4.95, 3.56)
scala> val salesTax = prices.sum * 0.05
salesTax: scala.math.BigDecimal = 2.3500
scala> println(salesTax.setScale(2, BigDecimal.RoundingMode.HALF_UP))
2.35
elements: Array[scala.xml.Node] = Array(<name>Invisibility Cream</name>, <name>Levitation Salve</name>, <name>Blork and▼
scala> val
| section <- (xml \ "section").toArray
| } yield name.text
▲
=={{header|Sidef}}==
|