小编Dan*_*iel的帖子

如何检测是否启用了不稳定功能?

let_chains我正在尝试检测Rust 1.75 中是否启用了不稳定的功能(例如)。看起来cfg!(feature = "let_chains")应该这样做,但事实并非如此。看这个例子:

#![feature(let_chains)]

fn main() {
    assert!(
        dbg!(cfg!(feature = "let_chains")) || dbg!(cfg!(let_chains)),
        "OK, then. How do you detect if an unstable feature is enabled?"
    );
}
Run Code Online (Sandbox Code Playgroud)

输出是:

[src/main.rs:5] cfg!(feature = "let_chains") = false
[src/main.rs:5] cfg!(let_chains) = false
thread 'main' panicked at src/main.rs:4:5:
OK, then. How do you detect if an unstable feature is enabled?
Run Code Online (Sandbox Code Playgroud)

操场。

有没有办法检测是否启用了不可用的功能?


对于更多背景知识,我在 proc 宏中执行此操作,因此我尝试cfg!()根据是否启用某些不稳定功能来生成正确的代码。我可以使用该#[cfg()]属性,如果它以某种方式起作用而cfg!宏不起作用的话。但我使用attribute得到了相同的结果#[cfg()]

rust

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

你应该如何使用带有PathShape的ShapeDrawable在自定义视图上绘制一条线?

我试图在自定义中绘制一条线View.在这里,我创建了一个简单Path的只有一个片段,PathShape从中创建了一个,最后将其粘贴到一个中ShapeDrawable,意图使用它在Canvas内部绘制onDraw().但是,这不起作用.在这里看我的例子.

package com.example.test;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.drawable.ShapeDrawable;
import android.graphics.drawable.shapes.PathShape;
import android.util.Log;
import android.view.View;

public class TestView extends View {

    private Path mPath = null;
    private Paint mPaint = null;
    private PathShape mPathShape = null;
    private ShapeDrawable mShapeDrawable = null;

    public TestView(Context context) {
        super(context);
    }

    private void init() {
        int width = this.getWidth() / 2;
        int height = this.getHeight() / …
Run Code Online (Sandbox Code Playgroud)

android path line custom-view shapedrawable

5
推荐指数
1
解决办法
5299
查看次数

将 Rust 编译为 wasm(Web 程序集)时,如何休眠 10 毫秒?

我的 rust 程序正在管理 2d html canvas 上下文的内存,我试图达到 ~60fps。我可以很容易地计算出每帧之间的增量,结果大约是大约 5 毫秒。

我不清楚如何让我的 Rust webassembly 程序在剩余的 11 毫秒内进入睡眠状态。一种选择是让 JavaScript 在每个上调用 RustrequestAnimationFrame并将其用作驱动程序,但我很想尽可能将其全部保留在 Rust 中。

setTimeout(renderNext, 11)在编译到 wasm 目标时,我正在有效地寻找与 JavaScript 等效的 Rust 。

asynchronous settimeout rust requestanimationframe wasm-bindgen

5
推荐指数
1
解决办法
1282
查看次数

SQLiteQueryBuilder.buildQuery不使用selectArgs?

好吧,我正在尝试查询sqlite数据库.我试图做得很好并使用SQLiteDatabase的查询方法并传入selectArgs参数中的值以确保所有内容都被正确转义,但它不起作用.我从来没有返回任何行(也没有错误).

我开始对这个生成的SQL感到好奇,所以我做了一些更多的探索,发现SQLiteQueryBuilder(显然Stack Overflow不能很好地处理带括号的链接,所以我无法链接到buildQuery方法的锚) ,我假设使用相同的逻辑来生成SQL语句.我这样做了:

  SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
  builder.setTables(BarcodeDb.Barcodes.TABLE_NAME);

  String sql = builder.buildQuery(new String[] { BarcodeDb.Barcodes.ID, BarcodeDb.Barcodes.TIMESTAMP, BarcodeDb.Barcodes.TYPE, BarcodeDb.Barcodes.VALUE },
    "? = '?' AND ? = '?'",
    new String[] { BarcodeDb.Barcodes.VALUE, barcode.getValue(), BarcodeDb.Barcodes.TYPE, barcode.getType()},
    null, null, null, null);

  Log.d(tag, "Query is: " + sql);
Run Code Online (Sandbox Code Playgroud)

此时记录的SQL是:

SELECT _id, timestamp, type, value FROM barcodes WHERE (? = '?' AND ? = '?')
Run Code Online (Sandbox Code Playgroud)

但是,这是SQLiteQueryBuilder.buildQuery的文档中有关selectAgs参数的内容:

您可以在选择中包含?s,它将被selectionArgs中的值替换,以便它们出现在选择中.

......但它不起作用.有任何想法吗?

sql database sqlite android

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