我一直在阅读Doets和Eijck撰写的《 Haskell逻辑,数学和编程之路》(2004)。这似乎是一本受人尊敬的书,但是当我声称Haskell是Lisp家族的一员时,我感到震惊。这个准确吗?我将用S表达式,不纯函数和列表作为Lisps的特征,并将其作为唯一的复合数据结构。Haskell没有任何东西。该主张有什么理由?
以下不起作用(虽然它没有明确的错误),但为什么不呢?
并且...是否真的没有办法解决它,严格使用with语句?忘记使用for/foreach.
with (object1, object2) {
attribute = value;
method();
}
Run Code Online (Sandbox Code Playgroud)
编辑:抱歉在1中提出2个问题.我会尽量让它更清晰:
为什么上面的代码没有给出语法错误,不起作用但被接受with
?
如果可能的话,我们如何使用相同的属性更改多个对象with
?
希望以下示例将更清楚我想要实现的目标:
var object1 = { attribute: 3 };
var object2 = { attribute: 2, method: function() { alert('blah'); } };
var object3 = { method: function() {alert('bleh'); } };
var value = 4;
with (object1)
with (object2)
with (object3)
{
attribute = value;
method();
}
alert(object1.attribute + object2.attribute);
// resulting alerts should be, …
Run Code Online (Sandbox Code Playgroud)