Wir kennen how to convert a String to an Integer für einen String wie "50"
. Angenommen, die Zeichenfolge ist "2^3"
, wie erhält man 8
daraus? Gibt es etwas, das funktioniert, wenn es nicht im Voraus bekannt ist, dass die Operation eine Macht ist, etwas, das auch für "2+3"
usw. funktionieren würde?Angezeigte Leistung in einem String zu Integer
Antwort
Hum, könnten Sie versuchen QuasiQuotes für diesen Einsatz:
ghci> :set -XQuasiQuotes
ghci> :set -XTemplateHaskell
ghci> let a = [|1 + 1|]
ghci> $a
2
ghci>
Schön, aber die Eingabe wird nicht als String angegeben. –
Sie können das gleiche ohne TH tun: 'let a = 1 + 1' – melpomene
Soweit ich weiß, gibt es keine Ausdrucksauswertung in den Grund Haskell-Bibliotheken.
Funktioniert das für Sie?
import System.Process
eval :: String -> IO Integer
eval expr = do
r <- readProcess "ghc" ["-e", expr] ""
return (read r)
main = eval "2^3" >>= print
Aber es läuft in der IO-Monade und es ist nicht sehr robust.
Ist es besser als https://hackage.haskell.org/package/plugins-1.5.5.0/docs/System-Eval-Haskell.html? –
Es ist einfacher, erfordert keine Installation von zusätzlichen Bibliotheken, aber es ist nicht so leistungsfähig. Alles hängt von Ihren Anforderungen ab. – ErikR
- 1. String zu Integer Smalltalk
- 2. Binary String zu Integer
- 3. String zu Integer Expressions
- 4. angezeigte
- 5. Convert Integer In String
- 6. Angezeigte Benutzer zu einem bestimmten Ereignis anzeigen
- 7. Assign Integer Wert zu String
- 8. Convert DateTime String zu Integer
- 9. Integer in String umschalten
- 10. Konvertiere String in Integer
- 11. Parse String zu Integer in Assembly
- 12. Integer-Array zu string in c-Programmierung
- 13. Argv - String in Integer
- 14. Konvertieren Integer in String
- 15. String Integer Integer JSON Liste
- 16. Integer und floats aus einem String heraus
- 17. Split Numbers String zu Integer Array
- 18. String zu Integer Hashing-Funktion mit Präzision
- 19. angezeigte Array-Werte in einem Textfeld
- 20. Leistung von int Array vs Integer Array
- 21. Pluck id (integer) in String string Laravel
- 22. Integer - String Konvertierungsproblem in Java
- 23. Double oder Integer in String?
- 24. Wie konvertiert man String in Integer in einem Shell-Skript?
- 25. String-Nummer zu festen Integer Google-Skript
- 26. Konvertieren Liste <Integer> zu String
- 27. String-Array zu einer Sammlung von Integer?
- 28. konvertieren string array zu integer php
- 29. C# Parse String "0" zu Integer
- 30. Konvertieren Integer in String Jinja
Das klingt wie ein Parser. Was genau meinen Sie mit "* etc *", d. H. Was ist die Syntax, die Sie analysieren möchten? – melpomene
@melpomene Ein elementarer Ausdruck, dessen Ergebnis eine ganze Zahl ist, wie a + b, a * b, a^b, a + b + c. –
Sie suchen dafür: https://hackage.haskell.org/package/plugins-1.5.5.0/docs/System-Eval-Haskell.html – Sibi