请耐心等待,因为我对函数式编程和Haskell都很陌生.我试图在Haskell中编写一个函数,它接受一个Integers列表,打印所述列表的头部,然后返回列表的尾部.该函数需要是[Integer] - > [Integer]类型.为了给出一些上下文,我正在编写一个解释器,当在关联列表中查找其各自的命令时调用此函数(键是命令,值是函数).
这是我写的代码:
dot (x:xs) = do print x
return xs
Run Code Online (Sandbox Code Playgroud)
编译器给出以下错误消息:
forth.hs:12:1:
Couldn't match expected type `[a]' against inferred type `IO [a]'
Expected type: ([Char], [a] -> [a])
Inferred type: ([Char], [a] -> IO [a])
In the expression: (".", dot)
Run Code Online (Sandbox Code Playgroud)
我怀疑点函数中的打印调用是导致推断类型为IO [a]的原因.有什么方法可以忽略返回类型的打印,因为我需要返回的是列表的尾部被传递到点.
提前致谢.
我正在用C#编写一个小程序,它使用SQL在运行时根据用户的输入将值存储到数据库中.
唯一的问题是我无法弄清楚正确的Sql语法将变量传递到我的数据库.
private void button1_Click(object sender, EventArgs e)
{
int num = 2;
using (SqlCeConnection c = new SqlCeConnection(
Properties.Settings.Default.rentalDataConnectionString))
{
c.Open();
string insertString = @"insert into Buildings(name, street, city, state, zip, numUnits) values('name', 'street', 'city', 'state', @num, 332323)";
SqlCeCommand cmd = new SqlCeCommand(insertString, c);
cmd.ExecuteNonQuery();
c.Close();
}
this.DialogResult = DialogResult.OK;
}
Run Code Online (Sandbox Code Playgroud)
在这段代码中我使用了所有静态值,除了我试图传递给数据库的num变量.
在运行时我收到此错误:
A parameter is missing. [ Parameter ordinal = 1 ]
Run Code Online (Sandbox Code Playgroud)
谢谢
嗨,我想知道如何在ruby中创建临时文件映像(png),因为tempfile只获取一个随机文件名,但它没有扩展文件.
我正在尝试使用JPA 2(EclipseLink)将UUID用于主键.我正在使用PostgreSQL作为数据库.我的实体声明如下:我有一个Employee表,其PK设置为UUID.我有一个JPA实体映射到employee表,如下所示:
@Entity
public class Employee {
@Id
private String id;
...
...
}
Run Code Online (Sandbox Code Playgroud)
当我调用EntityManager.find(Employee.class,id)时
我从postgres得到一个例外:
内部异常:org.postgresql.util.PSQLException:错误:运算符不存在:uuid =字符变化
提示:没有运算符匹配给定的名称和参数类型.您可能需要添加显式类型转换.
我也尝试将Employee类中的id更改为java.util.UUID,但后来我得到以下(非常类似的错误):
内部异常:org.postgresql.util.PSQLException:错误:运算符不存在:uuid = bytea提示:没有运算符匹配给定的名称和参数类型.您可能需要添加显式类型转换.
我真的不确定如何解决这个问题......任何人都有任何想法?
谢谢!
您是否可以深入了解用于确保解决方案质量的技术.例如,有时候,我喜欢测试我的结果,stopifnot()以确保我没有收到荒谬的结果.您是否有任何其他技术或功能用于数据处理,以确保您收到您想要的解决方案?
注意:我意识到这是一个广泛的问题,也许是社区维基甚至关闭的候选人,而不是投票结束,也许通过添加评论来指导对话来帮助我.
我收到此错误:
您的SQL语法有错误; 检查与您的MySQL服务器版本相对应的手册,以便在's','portal','','offer','MSNBC','News','','sports',''附近使用正确的语法,第3行的"MSN","金钱","游戏"
唯一的问题是插入包含撇号的数据时会出现此错误.我尝试将数据类型更改VARCHAR为TEXT,但结果仍然相同.
我试着把 addslashes()
如何解决这个问题?
编辑:
$query=" INSERT INTO alltags
(id,tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10,tag11,tag12,tag13,tag14,tag15,tag16,tag17,tag18,tag19,tag20,tag21,tag22,tag23,tag24,tag25,tag26,tag27,tag28,tag29,tag30)
VALUES
('',mysql_real_escape_string($uniqkey[0]),mysql_real_escape_string($uniqkey[1]),mysql_real_escape_string($uniqkey[2]),mysql_real_escape_string($uniqkey[3]),mysql_real_escape_string($uniqkey[4]),mysql_real_escape_string($uniqkey[5]),mysql_real_escape_string($uniqkey[6]),mysql_real_escape_string($uniqkey[7]),mysql_real_escape_string($uniqkey[8]),mysql_real_escape_string($uniqkey[9]),mysql_real_escape_string($uniqkey[10]),mysql_real_escape_string($uniqkey[11]),mysql_real_escape_string($uniqkey[12]),mysql_real_escape_string($uniqkey[13]),mysql_real_escape_string($uniqkey[14]),mysql_real_escape_string($uniqkey[15]),mysql_real_escape_string($uniqkey[16]),mysql_real_escape_string($uniqkey[17]),mysql_real_escape_string($uniqkey[18]),mysql_real_escape_string($uniqkey[19]),mysql_real_escape_string($uniqkey[20]),mysql_real_escape_string($uniqkey[21]),mysql_real_escape_string($uniqkey[22]),mysql_real_escape_string($uniqkey[23]),mysql_real_escape_string($uniqkey[24]),mysql_real_escape_string($uniqkey[25]),mysql_real_escape_string($uniqkey[26]),mysql_real_escape_string($uniqkey[27]),mysql_real_escape_string($uniqkey[28]),mysql_real_escape_string($uniqkey[29])) ";
mysql_query($query) or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
我改成了mysql_real_escape_string.这种语法是否正确?我收到了错误.