小编Aea*_*nus的帖子

在没有jQuery的情况下将光标放在画布中

我正在尝试学习如何使用HTML canvas元素,当然,我正在制作一个绘图应用程序.所以,我已经为实际绘图设置了代码并为应用程序设置了动画部分,但我不知道如何获取鼠标光标的位置.我真的不想使用jQuery,因为我宁愿不想学习它所做的所有事情,也不得不经历设置它的过程.谢谢你的帮助!

javascript html5 position canvas cursor

4
推荐指数
1
解决办法
5187
查看次数

Haskell不在范围内:键入构造函数或类"PushInt"

我有自己的数据类型,表明:

data Commands = MoveLeft |
                MoveRight |
                MoveUp |
                MoveDown |
                IfVertical |
                IfHorizontal |
                InputChar |
                InputInt |
                OutputChar |
                OutputInt |
                OutputNewline |
                PushInt Int |
                Add |
                Sub |
                Mult |
                Div |
                Exp |
                Pop |
                Dup |
                Switch |
                Noop |
                End
                deriving (Show, Eq)
Run Code Online (Sandbox Code Playgroud)

我有一个函数,我正试图从中提取数字PushInt:

extractNum :: PushInt -> Int
extractNum (PushInt n) = n
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行它时,我收到一个错误说明:

Parser.hs:32:19:
    Not in scope: type constructor or class `PushInt'
    A data constructor of that name …
Run Code Online (Sandbox Code Playgroud)

haskell types scope

4
推荐指数
1
解决办法
2625
查看次数

Java:定义新Rectangle时的数组语法错误

好的,所以我真的无法想出这个.我定义了一个数组,playerPos,像这样:

int[] playerPos = new int[]{32, 32};
Run Code Online (Sandbox Code Playgroud)

第一个数字是x值,第二个是y值.但是,当我尝试使用它来定义一个矩形时,我在这里得到一个语法错误:

        for (int x = 0 ; x < 64; x++) {
        for (int y = 0 ; y < 64; y++) {
            switch(map[x][y]) {
            case 1:
                mapRects[x][y] = new Rect(x - playerPos[0])*64, (y - playerPos[1])*64, ((x - playerPos[0])*64)+64, ((y - playerPos[1])*64)+64);
                break;

            case 2:
                mapRects[x][y] = new Rect(x - playerPos[0])*64, ((y - playerPos[1])*64)-64, ((x - playerPos[0])*64)+64, ((y - playerPos[1])*64)+64);
                break;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

无论我在哪里说新的Rect(),它都会在所有逗号上说出语法错误

Syntax error on token ",", [ expected
Run Code Online (Sandbox Code Playgroud)

它说,最后一个数字 …

java arrays android

0
推荐指数
1
解决办法
146
查看次数

比较lambda内部的IO Int时出错

我在这里有一小段代码,我想在if语句中使用.代码是

getRandomInt :: (Int, Int) -> IO Int
getRandomInt (a, b) = do
    g <- newStdGen
    return . fst $ randomR (a, b) g
Run Code Online (Sandbox Code Playgroud)

然后再往下走......

if ((getRandomInt (0,1)) >>= (\x -> x == 1))
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这应该编译randomInt == 1成if语句并在if语句中使用.代替; 我收到此错误:

word.hs:30:21:
    Couldn't match expected type `Bool' with actual type `IO b0'
    In the expression: ((getRandomInt (0, 1)) >>= (\ x -> x == 1))
    In a stmt of a 'do' block:
      if ((getRandomInt (0, 1)) >>= (\ x -> x …
Run Code Online (Sandbox Code Playgroud)

io int lambda haskell

0
推荐指数
1
解决办法
270
查看次数

标签 统计

haskell ×2

android ×1

arrays ×1

canvas ×1

cursor ×1

html5 ×1

int ×1

io ×1

java ×1

javascript ×1

lambda ×1

position ×1

scope ×1

types ×1