我有2个字符串列表,
例如:
listx = ["name","age","rank"]
input = ["name","age"]
Run Code Online (Sandbox Code Playgroud)
如何比较两个列表以检查是否listx包含"name"&"age"给出input?
我是哈斯克尔新手!我写了这段代码:
import Data.List
inputIndex :: [String] -> [String] -> Bool
inputIndex listx input = and [x `elem` listx |x <- input]
inputIndex = if inputIndex == true
then putStrLn ("ok")
Run Code Online (Sandbox Code Playgroud)
没有if语句它工作正常,但当我把if语句显示以下错误时:
表达式中的语法错误(意外的`}',可能是由于布局错误)
我在这做错了什么?
谢谢
我的原始代码如下所示,工作正常.我想添加'ind'的范围检查,在修改后的版本中我添加了一个if语句.当我运行它时,我得到一个"有条件的类型错误",我认为它是因为输出定义[[String]]而不是IO()?
有没有其他方法来检查保持的值的范围ind并产生像"错误"/"outofrange"的输出?
原始代码
retrieve :: [Int] -> [[String]] -> [[String]]
retrieve [] dat = [[]]
retrieve ind dat = [exC ind d | d <- dat]
Run Code Online (Sandbox Code Playgroud)
修改后的代码
retrieve :: [Int] -> [[String]] -> [[String]]
retrieve [] dat = [[]]
retrieve ind dat = if ind>3
then putStrLn "not found"
else [exC ind d | d <- dat]
Run Code Online (Sandbox Code Playgroud)
谢谢,
我的db表中有3列,我需要乘以列,itm_count和itm_price并输出给定id(itm_id)的总和.
SELECT sum(itm_price * itm_count) as total FROM ods_temporder WHERE itm_id='11'
Run Code Online (Sandbox Code Playgroud)
我尝试使用上面的sql查询执行此操作,但结果为null.这里似乎有什么问题?