使用 switch...case 的 Haskell 简单计算器程序
在本文中,我们将学习如何使用 switch…case 在 Haskell 中创建一个简单的计算器。在第一个示例中,我们将使用带不同运算符的 case 语句;在第二个示例中,我们将使用函数映射 (fromList [('+', (+)), ('-', (-)), ('*', (*)), ('/', (/))])。
方法 1:使用 case 语句创建简单计算器程序
在这种方法中,创建了一个简单的 Haskell 计算器程序,它接受三个参数:x、op 和 y。x 和 y 的类型为 Double,op 的类型为 Char。calculator 函数接受这三个参数,并使用 case 语句检查 op 的值。根据 op 的值,它对 x 和 y 执行相应的运算并返回结果。
算法
步骤 1 − 使用 case 语句定义用户定义的 calculator 函数。
步骤 2 − 程序执行将从 main 函数开始。main() 函数控制整个程序。
步骤 3 − 初始化名为“x”和“y”的变量以保存操作数的值,并初始化“op”以保存运算符。
步骤 4 − 调用函数后,使用‘print’函数将给定运算的结果打印到控制台。
示例 1
在此示例中,我们将了解如何使用 case 语句创建简单的计算器。
calculator :: Double -> Char -> Double -> Double calculator x op y = case op of '+' -> x + y '-' -> x - y '*' -> x * y '/' -> x / y _ -> error "Invalid operator" main :: IO () main = do let x = 5.0 let op = '*' let y = 2.0 print (calculator x op y)
输出
10.0
示例 2
在此示例中,我们将了解如何使用带 toLower 函数的 case 语句创建简单的计算器。
import Data.Char (toLower) calculator :: Double -> Double -> Char -> Double calculator a b op = case toLower op of '+' -> a + b '-' -> a - b '*' -> a * b '/' -> a / b _ -> error "Invalid operator" main :: IO () main = do let a = 2 let b = 5 let op = "*" print (calculator a b (head op))
输出
10.0
示例 3
在此示例中,我们将了解如何使用函数映射创建简单的计算器。
import Data.Map (Map, fromList, lookup) calculator :: Double -> Char -> Double -> Double calculator x op y = case Data.Map.lookup op operators of Just f -> f x y Nothing -> error "Invalid operator" where operators = fromList [('+', (+)), ('-', (-)), ('*', (*)), ('/', (/))] main :: IO () main = do let x = 5.0 let op = '*' let y = 2.0 print (calculator x op y)
输出
10.0
结论
简单的计算器是一种设备或程序,用于执行基本的数学运算,如加法、减法、乘法和除法。它通常具有用户友好的界面,允许用户输入数字和运算符,并获得计算结果。在 Haskell 中,可以使用 case 语句或使用带 case 语句的 toLower 函数,以及使用函数映射来创建简单的计算器。
广告