我想寫用下面的代碼Haskell的模塊更換記錄值:在Haskell
module RectangleMover where
data Rectangle = Rectangle { xCoordinate :: Int
, yCoordinate :: Int
, width :: Int
, height :: Int
} deriving (Show)
move :: Rectangle -> Int -> Int -> Rectangle
-- Edit 1
move rec x y =
let rec' = { xCoordinate + x
, yCoordinate + y
}
return rec
要創建一個矩形i鍵入:
let rec = Rectangle 10 10 20 30
但我的問題是,現在怎麼實現一個「移動」這個矩形的功能? 在C#或Java調用會是這樣的:rec.move(20,20);
但是怎麼會變成這樣寫在Haskell?
這是不幸的是我第一次嘗試用一個函數式編程語言...
編輯1: 我添加的代碼我的函數內但仍然獲得瞭解析錯誤「x座標+ X」 ...
「move」作爲參數使用的兩個'Int'的含義是什麼?沿x軸和y軸偏移?還有別的嗎? – Jubobs
是的x軸和y軸的偏移量 – ManzMoody