通过较早的考试,我复制了这段代码,并试图使其正常工作。
$(".option input[type=radio]").change(function() {
reload_filterstring(this);
});
$(".option input[type=checkbox]").change(function() {
reload_filterstring(this);
});
function reload_filterstring(that) {
var finalFilterQuery = {};
var currentEl = "";
(filterType = $this.attr("data-filter-type")),
($options = $this.find("ul.options input")),
(query = $this.find('input[name="query"]')),
(finalQuery = $('input[name="finalQuery"]')),
(filterData = []),
(filterQuery = null);
// console.log(filterName);
currentVal = [];
$options.each(function() {
if ($(this).prop("checked") == true) {
currentVal.push($(this).attr("id"));
}
});
finalFilterQuery[filterName] = currentVal.join("|");
}
// console.log(finalFilterQuery);
var str = "";
for (var key in finalFilterQuery) {
if (finalFilterQuery.hasOwnProperty(key)) {
if (str != "") {
str += ",";
}
str += key + "=" + finalFilterQuery[key];
}
}
console.log(str);
}
现在使用类型声明或不使用类型声明,都会出现错误:
rems :: Integer -> [(Integer ,Integer )]
rems n = [(i, n `mod` i) | i <- [2 ..(n−1)]]
我能够通过在where子句中计算n-1来解决此问题,但并没有真正弄清为什么这是解决方法。我当然知道Haskell中是什么整数。
Variable not in scope: (−) :: Integer -> Integer -> Integer
ghc version 8.6.3
有人可以向我解释为什么这种看似无效的变化可以解决该错误,还有其他方法吗?
答案 0 :(得分:5)
这是一个简单的印刷错误。您的−
不是连字符(Haskell期望),它是Unicode负号字符,这是不同的。您的来源必须已自动将前者转换为后者。只需将其替换为连字符(使用键盘输入)即可。