我有这样的清单
[(1,2),(2,1),(3,3)]
Run Code Online (Sandbox Code Playgroud)
我想用第二个元素对它进行排序,所以它是:
[(3,3),(1,2),(2,1)]
Run Code Online (Sandbox Code Playgroud)
我试过了
mySort t = sortBy (compare `on` (\(a,b)->b)) t
Run Code Online (Sandbox Code Playgroud)
但ghci显然没有认识到
好的,编辑:
我正在使用GHCi编译实际的.hs文件,所以我有我的标题:
import Data.List (sortBy)
import Data.Function (on)
module TupleListPolynomial where
type Poly = [(Float,Int)]
Run Code Online (Sandbox Code Playgroud)
如果我这样写,编译器将无法识别'module'(使用:l和:r btw):
[1 of 1] Compiling Main ( TupleListPolynomial.hs, interpreted )
TupleListPolynomial.hs:5:1: parse error on input ‘module’
Run Code Online (Sandbox Code Playgroud)
如果我翻转它并写下面的导入它将无法识别具有相同错误的'import'.
编辑:通过这样解决:
module TupleListPolynomial where
import Data.List (sortBy)
import Data.Function (on)
type Poly = [(Float,Int)]
Run Code Online (Sandbox Code Playgroud) 我只想知道如何使文件仅对特定组可执行。
我有一个/bin/ping具有此权限的文件
rwxr-xr-x root root 34248 oct 14 2010 /bin/ping
Run Code Online (Sandbox Code Playgroud)
例如,如何使其仅对名为“朋友”的组的用户可执行?
我有一个数据库的ResultSet,每行包含6列.
对我来说,每一行都是一个对象,每列都是该对象的参数.
问题是,我正在尝试使用此代码:
while(rs.next() && i<25){
aux.setIdVinilo(rs.getInt("id_vinilo"));
aux.setTitulo(rs.getString("titulo"));
aux.setAutor(rs.getString("autor"));
aux.setGenero(rs.getString("genero"));
aux.setFecha(rs.getInt("fecha"));
aux.setDiscografica(rs.getString("discografica"));
aux.setImagen(rs.getString("imagen"));
historial.add(aux);
i++;
}
Run Code Online (Sandbox Code Playgroud)
rs是ResultSet,history是ArrayList,aux是我的DTO,由显示的字段组成.
这个问题是它最终用相同的信息填充ArrayList 25次.所以我猜rs.next()在每次迭代后都不会向前移动一行.我该如何实现这一目标?
我正在做一个分布式程序(我不知道这是不是这个词,我用西班牙语学习过),我需要在某些进程之间发送和接收消息,乍一看非常简单.
当我想在同一个消息中发送两个整数时,它会变得复杂.使用send()你只能发送char*所以我使用了这个:
string s = to_string(valla) + " " + to_string(tiempo);
const char* buffNum = s.c_str();
Run Code Online (Sandbox Code Playgroud)
一切都很好,直到我必须收到并"解码"消息.所以,如果我收到一个号码,我可以使用atoi(),现在的问题是,当我收到两个号码时,我该怎么做呢?
提前致谢.