小编bel*_*lla的帖子

如何在haskell中正确定义空字符串?

我的程序有问题,我能够找出问题所在.我设法将它减少到这个更简单的问题.让我们说我有这个功能

fn:: String -> String
fn (x:xs)
    | null (x:xs) = "empty"
    | otherwise = "hello"
Run Code Online (Sandbox Code Playgroud)

输入随机的东西会返回,"hello"但如果我这样做,

fn ""
Run Code Online (Sandbox Code Playgroud)

我得到了非详尽的模式错误.因为""被认为是一个空列表,[]它不应该与我的第一个模式匹配并返回"empty"

string haskell functional-programming function list

4
推荐指数
2
解决办法
1万
查看次数

使用 read() 处理 prolog 中的输入

我正在使用 read() 来接收用户输入。我计划我的程序将接受以下形式的输入

a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)

然后我会将其转换为元素列表。但是在序言中做一个测试我得到了这个

26 ?- read(X).
|: abc,def,ghi,jkl.
X = (abc, def, ghi, jkl).
Run Code Online (Sandbox Code Playgroud)

我不确定,但这是返回一个结构吗?我该怎么做才能将其转换为列表?

prolog dcg

2
推荐指数
1
解决办法
316
查看次数

如何进一步指定sqlite查询

我是SQL的新手,想知道是否有办法进一步改进我的查询.例如,我有一个包含学生姓名和成绩的表格,我想找到成绩最高的学生姓名.我来到了

SELECT name FROM students ORDER BY grade DESC
Run Code Online (Sandbox Code Playgroud)

但这会返回所有名称.我想过使用LIMIT,但是对于前者来说,如果2名学生的成绩最高,我希望他们都能被退回.

有办法吗?

sql sqlite

1
推荐指数
1
解决办法
147
查看次数

标签 统计

dcg ×1

function ×1

functional-programming ×1

haskell ×1

list ×1

prolog ×1

sql ×1

sqlite ×1

string ×1