小编Oli*_*ver的帖子

如何使用Kotlin折叠函数将数组转换为地图?

我试图通过折叠将数组转换为索引映射.不知怎的,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)

它有点晚了所以我可能会错过一些非常明显的东西.任何帮助将非常感激.

谢谢

kotlin

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

IPC通信在电子和窗口之间不起作用

我正在尝试编写基于电子样板的第一个电子应用程序。我正在尝试将一个简单的消息从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)

electron

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

标签 统计

electron ×1

kotlin ×1