小编Hay*_*rry的帖子

为什么 Rust WASM 指针和 JS 指针的值不同?

假设我在 Rust 代码中有以下定义:

#[wasm_bindgen]
pub struct RustType {
    foo: usize
}

#[wasm_bindgen]
impl RustType {
    #[wasm_bindgen(constructor)]
    pub fn new() -> Self {
        Self { foo: 100 }
    }
}

#[wasm_bindgen]
pub fn print_addr(obj: &RustType) {
    console_log!("rust addr = {}", obj as *const _ as u32);
}
Run Code Online (Sandbox Code Playgroud)

JS 代码创建一个实例RustType并将其传递给print_addr函数:

var obj = new RustType();
print_addr(obj);
Run Code Online (Sandbox Code Playgroud)

修改生成的print_addr函数后index_bg.js如下:

export function print_addr(obj) {
    _assertClass(obj, RustType);
    console.log("js addr = ", obj.ptr); // <== added this line
    if …
Run Code Online (Sandbox Code Playgroud)

javascript rust webassembly wasm-bindgen

7
推荐指数
1
解决办法
963
查看次数

Web API 2 Windows身份验证会不断提示登录

我在Windows 10上使用Visual Studio 2015和IIS 10.0进行了基本的Web API 2设置.401个请求(窗口身份验证)不断提示我登录.我可以登录,它接受我的凭据,但我没有做任何事情摆脱这个提示.

我有:

  • 添加<authentication mode="Windows" />到web.config下<system.web>
  • 通过IIS禁用匿名身份验证
  • 通过IIS启用Windows身份验证

我需要添加到我的控制器或WebApiConfig中来请求像/ api/core/getweatherdata这样的URL而不提示登录吗?

c# asp.net authentication iis asp.net-web-api

6
推荐指数
1
解决办法
5011
查看次数

Pygame - 两个CIRCLES的碰撞检测

我正在进行碰撞检测程序,其中我的光标是一个半径为20的圆,当它碰到另一个圆时应该将值更改为TRUE.出于测试目的,我在屏幕中心有一个半径为50的静止圆.我能够测试光标圆是否已经击中静止圆但是它不能正常工作,因为它实际上正在测试它是否是击中正方形而不是圆形.我对数学不是很好,我也找不到答案.我已经找到了如何测试光标是否触摸它但是从未测试过具有两个不同半径的两个对象.

如何检查两个圆圈之间的碰撞?谢谢!

这是我的代码:

#@PydevCodeAnalysisIgnore
#@UndefinedVariable
import pygame as p, sys, random as r, math as m
from pygame.locals import *
from colour import *

p.init()

w,h=300,300
display = p.display.set_mode([w,h])
p.display.set_caption("Collision Test")
font = p.font.SysFont("calibri", 12)

x,y=150,150
radius=50
cursorRadius=20
count=0
hit=False

while(True):
    display.fill([0,0,0])
    mx,my=p.mouse.get_pos()
    for event in p.event.get():
        if(event.type==QUIT or (event.type==KEYDOWN and event.key==K_ESCAPE)):
            p.quit()

    ### MAIN TEST FOR COLLISION ###
    if(mx in range(x-radius,x+radius) and my in range(y-radius,y+radius)):
        hit=True
    else:
        hit=False

    p.draw.circle(display,colour("blue"),[x,y],radius,0)
    p.draw.circle(display,colour("white"),p.mouse.get_pos(),cursorRadius,0)

    xy=font.render(str(p.mouse.get_pos()),True,colour("white"))
    hitTxt=font.render(str(hit),True,colour("white"))
    display.blit(xy,[5,285])
    display.blit(hitTxt,[270,285])

    p.display.update()
Run Code Online (Sandbox Code Playgroud)

python geometry pygame collision

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

序列化无效值 Symbol(ne)

我在 Express Node.js 服务器上运行了以下两个文件:

主页.js

var express = require('express')
var sequelize = require('sequelize')
var db = require('../../shared/db.js')

var op = sequelize.Op

var router = express.Router()

router.get('/home', function(req, res, next) {
    db.shared.person.findAll({
        where: {
            email: {
                [op.ne]: null
            }
        },
        order: ['id']
    }).then(function (person) {
        res.locals = {
            person: person
        }
        res.render('home')
    })
})

module.exports = router
Run Code Online (Sandbox Code Playgroud)

数据库.js

var sequelize = require('sequelize')

var config = {
  host: 'localhost',
  port: 5432,
  username: '...',
  password: '...',
  database: 'postgres',
  dialect: 'postgres',
  operatorsAliases: false
} …
Run Code Online (Sandbox Code Playgroud)

javascript postgresql node.js express sequelize.js

2
推荐指数
1
解决办法
1万
查看次数

除了一个数字之外,如何使用r.nextInt()生成随机数?

我参与了我的代码,每次按下按钮时都必须生成一个随机数(在这种情况下为r).当我按下这个按钮时,我希望它生成一个介于0和n之间的数字(在这种情况下为3),但我不希望它生成一个先前生成的数字.所以我不希望连续两次生成相同的数字.所以2然后2是坏的.2然后0然后2是可以的.

我在这里寻找类似于我的问题,但没有一个真的有帮助.除了数组中的数字之外,其他所有人都生成一次.我一直在生成,我希望能够检测到之前的相同数字.

我正在使用Random类,我考虑过使用math.random类,但是介于0和1之间,所以这实际上并不太有用.任何帮助将不胜感激,谢谢!:d

java random

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

Java applet重新绘制一个移动的圆圈

我刚从Pygame搬过来,所以applet中的Java 2D对我来说有点新鲜,特别是在重新绘制屏幕时.在pygame中你可以简单地做,display.fill([1,1,1])但我如何在Java中的applet中执行此操作?我理解使用repaint()但不清除屏幕 - 任何移动的物体都没有从屏幕上"移除",所以你只需要画出一长串画圆.

这是我一直在测试的代码:

package circles;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.Random;

public class circles extends Applet implements Runnable {
    private static final long serialVersionUID = -6945236773451552299L;
    static Random r = new Random();

    String msg = "Click to play!";
    static int w = 800, h = 800;

    int[] txtPos = { (w/2)-50,(h/2)-50 };
    int[] radiusRange = { 5,25 };
    int[] circles;
    static int[] posRange;

    int x = 0, y = 0; …
Run Code Online (Sandbox Code Playgroud)

java applet awt graphics2d

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

如果字符的两边都有字符,如何替换字符?

我一直在玩Python中的一些正则表达式,当我尝试替换"b"字符串时,A 如果它 "b"有任何一个字符,我就会陷入困境.例:

  • 替换"b":"aaabaaa"
  • 不要替换"b":"aaa b aaa"

正则表达式对我来说似乎不太容易,所以我该怎么做?

python regex replace

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