我试图通过折叠将数组转换为索引映射.不知怎的,IntelliJ标记当我返回它期望Unit的累加器时.当我删除返回它抱怨我需要我最初想要返回的数据类型.
代码如下(Item只是一个数据类)
constructor(vararg items: Item){
val itemMap = items.fold(mutableMapOf<Int, MutableList<Item>>(), { acc, item ->
if (acc.containsKey(item.state)) {
acc[item.state]?.add(item)
} else {
acc.put(item.state, mutableListOf(item))
}
return acc
})
}
Run Code Online (Sandbox Code Playgroud)
它有点晚了所以我可能会错过一些非常明显的东西.任何帮助将非常感激.
谢谢
我正在尝试编写基于电子样板的第一个电子应用程序。我正在尝试将一个简单的消息从Electron主进程发送到我的窗口中,但是似乎该消息没有得到发送。
我已经介绍过的主要代码如下
background.js(主要电子过程)
// Window setup
app.on("ready", () => {
mainWindow = new BrowserWindow({
width: 1000,
height: 300,
frame: false,
resizable: false,
transparent: true,
});
mainWindow.setIgnoreMouseEvents(true);
mainWindow.hide();
mainWindow.loadURL(
url.format({
pathname: path.join(__dirname, "app.html"),
protocol: "file:",
slashes: true
})
);
const ret = globalShortcut.register(getKeyboardShortCut(), () => {
mainWindow.isVisible ? mainWindow.hide() : mainWindow.show();
})
if(isDev()){
mainWindow.openDevTools();
mainWindow.setIgnoreMouseEvents(false);
console.log("======== DEV ==========");
mainWindow.show();
mainWindow.webContents.send('test','This is a test');
}
});
Run Code Online (Sandbox Code Playgroud)
app.js(将窗口映射到mainWindow)
import { ipcRenderer } from "electron";
ipcRenderer.on('test', (event, text) => { console.log("Received test
message:", text)}); …Run Code Online (Sandbox Code Playgroud)