Functional programming 米兰达抛出了一个我不知道的错误';我不明白
我试图做一个函数,当给定x值和一条直线时,它会找到一条直线的y值 我已经将点定义为一对NUM,将线定义为一对点,如图所示。大部分都可以,但在最后一行我得到了一个未定义的函数错误。 “未定义函数:q”。 我看不出米兰达有什么理由认为q应该是一个函数。如果我把q改为p,同样的错误也会存在,p在两条直线上正常工作 谢谢你的帮助Functional programming 米兰达抛出了一个我不知道的错误';我不明白,functional-programming,miranda,Functional Programming,Miranda,我试图做一个函数,当给定x值和一条直线时,它会找到一条直线的y值 我已经将点定义为一对NUM,将线定义为一对点,如图所示。大部分都可以,但在最后一行我得到了一个未定义的函数错误。 “未定义函数:q”。 我看不出米兰达有什么理由认为q应该是一个函数。如果我把q改为p,同样的错误也会存在,p在两条直线上正常工作 谢谢你的帮助 point == (num,num) line == (point,point) xcoord :: point -> num xcoord (x,y) = x yc
point == (num,num)
line == (point,point)
xcoord :: point -> num
xcoord (x,y) = x
ycoord :: point -> num
ycoord (x,y) = y
yvalue :: num -> line -> num
yvalue x (p,q) = ycoord p + (x - xcoord p)*slope
where
slope = (ycoord q - ycoord p)/(xcoord q - xcoord p)
我回答了我自己的问题。有一个间距问题。此处和坡度需要与上面的等号相距一个额外的空间。