对不起,如果这是非常基础的,我是函数式编程和F#的新手.
我必须创建一个函数,它接受一个元组列表(string*int)并返回一个元组列表(string*int)
所以基本上我想将一些函数应用于pairList中的每个元组并返回一个元组列表.
我猜我可以通过递归函数来做到这一点.
到目前为止,我有以下代码:
let rec aFunction (pairList:List<string*int>): List<string*int> =
match pairList with
| [] -> []
| head :: tail -> [fst head,snd (someFunc1 (someFunc2 (fst head,snd head)))]
Run Code Online (Sandbox Code Playgroud)
这基本上只是将各种函数应用于列表的头部并返回一个元组列表.
为了使它适用于整个列表,我尝试了以下方法:
| head :: tail -> [fst head,snd (someFunc1 (someFunc2 (fst head,snd head)));aFunction tail]
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
该表达式应该具有类型字符串*int,但这里的类型为List <string*int>
我正在使用此函数缩放/移动对象时获取对象属性的值(顶部,宽度...):
canvas.on('object:scaling', onObjectModification);
canvas.on('object:moving', onObjectModification);
canvas.on('object:rotating', onObjectModification);
function onObjectModification(e) {
var activeObject = e.target;
var reachedLimit = false;
objectLeft = activeObject.left,
objectTop = activeObject.top,
objectWidth = activeObject.width,
objectHeight = activeObject.height,
canvasWidth = canvas.width,
canvasHeight = canvas.height;
}
Run Code Online (Sandbox Code Playgroud)
如何为作为一组移动的每个对象获得相同的内容?我需要将值作为对象不断变化:缩放事件提供.
我知道事件选择:创建但我失去了如何使用它来达到我想要的.你们的任何帮助都将受到高度赞赏.谢谢