小编Mr.*_*yyy的帖子

从不同的类访问HashMap

我的课程中有一个名为DataStorage的hashmap:

HashMap<String, Integer> people = new HashMap<String, Integer>();

people.put("bob", 2);
people.put("susan", 5);
Run Code Online (Sandbox Code Playgroud)

如何在不同的类中访问此HashMap中的数据?

java hashmap

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

如何漂亮地打印 Syn AST?

我正在尝试使用syn从 Rust 文件创建 AST,然后使用quote将其写入另一个文件。然而,当我写它时,它在所有内容之间放置了额外的空格。

请注意,下面的示例只是为了演示我遇到的最小可重现问题。我意识到,如果我只是想复制代码,我可以复制文件,但它不适合我的情况,我需要使用 AST。

pub fn build_file() {
    let current_dir = std::env::current_dir().expect("Unable to get current directory");
    let rust_file = std::fs::read_to_string(current_dir.join("src").join("lib.rs")).expect("Unable to read rust file");
    let ast = syn::parse_file(&rust_file).expect("Unable to create AST from rust file");

    match std::fs::write("src/utils.rs", quote::quote!(#ast).to_string());
}
Run Code Online (Sandbox Code Playgroud)

它创建 AST 的文件是这样的:

#[macro_use]
extern crate foo;
mod test;
fn init(handle: foo::InitHandle) {
    handle.add_class::<Test::test>();
}
Run Code Online (Sandbox Code Playgroud)

它输出的内容是这样的:

# [macro_use] extern crate foo ; mod test ; fn init (handle : foo :: InitHandle) { handle . add_class …
Run Code Online (Sandbox Code Playgroud)

abstract-syntax-tree rust rustfmt

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

MUI DateCalendar 与 Luxon 适配器从周日开始一周

最近,Luxon 增加了对本地化周信息的支持。我将 Luxon 版本更新到包含此更新的最新版本,3.4.4但打开日历时,一周仍然从星期一开始,而不是星期日。

我认为LuxonAdapter会接受更改并使用本地化的周数据,但它似乎没有任何不同。

package.json有两个库的最新版本:

"@mui/x-date-pickers": "^7.0.0-alpha.0",
"luxon": "^3.4.4",
Run Code Online (Sandbox Code Playgroud)

然后,在我的中App.tsx添加LocalizationProviderLuxonAdapter

import { LocalizationProvider } from "@mui/x-date-pickers";
import { AdapterLuxon } from "@mui/x-date-pickers/AdapterLuxon";

<LocalizationProvider dateAdapter={AdapterLuxon}>
    <Outlet />
</LocalizationProvider>
Run Code Online (Sandbox Code Playgroud)

最后,DateCalendar组件:

import { DateTime } from "luxon";
import { DateCalendar } from "@mui/x-date-pickers";

const [calendarValue, setCalendarValue] = useState<DateTime | null>(DateTime.now());

<DateCalendar
    value={calendarValue}
    onChange={setCalendarValue}
    views={["day"]}
    disablePast
    sx={{ m: 0 }}
/>
Run Code Online (Sandbox Code Playgroud)

luxon mui-x mui-x-date-picker

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

将换行符添加到tooltipster插件生成的工具提示中

我最近尝试使用工具提示的新插件,因为我喜欢这个功能.但是我遇到了一个问题,我不知道如何添加新行,所以我的工具提示不会只是遍及整个页面.我尝试了一些我在这里读到的解决方案,比如转义字符,但它们不起作用.

$(document).ready(function () {		
	$('.tooltip-custom').tooltipster({
		theme: 'tooltipster-noir'
	});
});
Run Code Online (Sandbox Code Playgroud)
<link href="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/css/tooltipster.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/css/themes/tooltipster-noir.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.0.5/js/jquery.tooltipster.js"></script>

<a href="#" class="tooltip-custom" title="This is my very long run on tooltip that just doesnt seem to want to end or split lines. Ok maybe I am overreacting but still. I want to be able to start a new line whenever I please!"><h1>Hello!</h1></a>
Run Code Online (Sandbox Code Playgroud)

jquery tooltipster

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

使用google maps api为经度和纬度使用变量

我刚开始使用谷歌地图API浏览器,但当我将变量放在经度/纬度位置而不是直接放置数字时,我似乎无法使其工作.

我需要从两个输入元素的值填充地图.

它不适用于变量,但如果将函数中的变量更改为数字,则它可以完美地工作.

是的我知道我不应该发布我的API密钥,但这是我在关闭帐户上用于测试的一个,我将最终删除它.

function initialize() {
        var userLng = $('#lng').val();
	var userLat = $('#lat').val();
  
	var mapOptions = {
	    center: { lat: userLat, lng: userLng },
	    zoom: 8
	};
	var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}

google.maps.event.addDomListener(window, 'load', initialize);
Run Code Online (Sandbox Code Playgroud)
#map-canvas {
  height: 30em;
  width: 30em;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCgxY6DqJ4TxnRfKjlZR8SfLSQRtOSTxEU"></script>
<form>
  <input type="text" id="lng" name="lng" value="30">
  <input type="text" id="lat" name="lat" value="40">
</form>

<div id="map-canvas"></div>
Run Code Online (Sandbox Code Playgroud)

javascript google-maps

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

使用单个链接对字段进行升序和降序排序

所以我有一个带有表的MVC应用程序,当单击标题时,我希望它根据单击的次数以升序或降序方式切换.

目前我只能降序或升序排序我不知道如何实现两者.userName当用户登录并且我正在使用交换机时,我只是从另一个控制器获取的变量,因为我计划有多个可以排序的标头.

视图

<table>
    <tr>
        <th>
            <a href="@Url.Action("Dispatch", "Calls", new { userName = Session["UserName"], new { sortOrder = "Name_desc" })">Name</a>
        </th>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

调节器

public ActionResult Index(string userName, string sortOrder)
{
    string userName = Session["UserName"].ToString();

    var model = from t in db.Users
                where t.UserName == userName
                select t;

    switch(sortOrder)
    {
        case "Name_desc":
            model = model.OrderByDescending(t => t.UserName);
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

linq sorting asp.net-mvc asp.net-mvc-5

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

何时使用 Uint8Array、Uint16Array、Uint32Array

我有一个应用程序,它通过 XMLHttpRequest 加载用户文本并以二进制格式返回它。我知道 8、16 和 32 之间的主要区别是每个元素的字节数,但我不知道何时使用每个。

例如,对于我的应用程序,由于文本文件实际上可以包含任何可能的字符,哪一个最好?

我尝试了不同的文件,包括一个带有表情符号的文件,似乎在 Uint8Array 中表情符号占用了 4 个索引。

有什么理由让我不应该只使用 Uint8Array 还是有理由我应该在读取文件时动态选择?我已经阅读了每个文档的MDN文档,但除了字节大小之外,它似乎没有提供太多见解。

这是我目前用来加载文件的代码:

asset= new XMLHttpRequest();

asset.addEventListener('readystatechange', function load() {

    if (asset.readyState == 4 && asset.data.status == 200) {

        const arrayBuffer = asset.data.response;

        if (arrayBuffer) asset.data = new Uint8Array(arrayBuffer);

    }

}.bind(this), false);

// Error handling.

asset.responseType = 'arraybuffer';

asset.open('GET', asset.src);

asset.send();
Run Code Online (Sandbox Code Playgroud)

javascript arrays byte bytebuffer xmlhttprequest

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

Nuxt自定义插件导出未定义

我的新Nuxt应用程序将占用大量API,因此我创建了一个名为的新顶级文件夹,api并且在此文件夹中将定义所有api路由,但目前仅users.ts

api/users.ts

export default $axios => ({

    create(payload: any) {}

    showAll(): any {
        return $axios.get('...');
    }

}
Run Code Online (Sandbox Code Playgroud)

然后在我的plugins文件夹中,我创建了一个模块,导出所有名为的api plugins/api.ts

import users from '../api/users';

export defaut ({ app }, inject) => {

    app.api = { usersAPI: users }

}
Run Code Online (Sandbox Code Playgroud)

最后在我的nuxt.config.ts

...
plugins: [
    '~/plugins/api'
],
...
Run Code Online (Sandbox Code Playgroud)

但是在浏览器中,当我加载页面时 ReferenceError: exports is not defined

我怀疑这可能与Typescript有关,但是我遵循了文档中的Typescript支持指南,并@nuxt/typescript以dev依赖项和ts-node常规依赖项的形式安装,并更改了要使用的config文件的文件扩展名.ts

我还创建了一个tsconfig.json具有以下内容的文件:

{
    "compilerOptions": {
        "allowSyntheticDefaultImports": true
    }
}
Run Code Online (Sandbox Code Playgroud)

typescript vue.js nuxt.js

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

WPF创建边栏导航

我很好奇如何创建侧边栏导航,如:

在此输入图像描述

我尝试使用统一的网格,但最终"按钮"之间的间距过大,我不确定是否可以修改选项卡控件,使其像全宽按钮而不是顶部标签.

此外,如果它可能添加图标,将是一个巨大的优势.

c# wpf visual-studio modern-ui

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

类构造函数中选项对象的默认值

我创建了一个类,我想为值设置一些默认选项,以防用户不提供任何参数。我最近使用了一个将多个参数传递给一个对象的构造函数,因为我相信当用户创建该类的新实例时,它有助于提高可读性。

这是我之前的做法:

module.exports = class User {
    constructor(name = "Joe", age = 47) {
        this.name = name;
        this.age = age;
    }
}

const User = require("./user");

const user = new User(); // Defaults to "Joe" and 47
Run Code Online (Sandbox Code Playgroud)

事实上,我的类有更多的参数,并且使用它时的可读性变得很困难。因此,为了解决这个问题,我切换到了一个效果更好的选项对象,但我似乎无法设置默认值。当我尝试使用this.name它时,它说this.name = options.name || "Joe" Cannot read property 'name' of undefined即使我认为我将默认值设置为“Joe”

我现在是这样做的:

module.exports = class User {
    constructor(options) {
        this.name = options.name || "Joe";
        this.age = options.age || 47;
    }
}

const User = require("./user");

const user = new …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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