小编lns*_*shi的帖子

如何使用 rustup 安装/使用组件的特定历史版本,例如:rustfmt、clippy

如何使用rustup安装/使用组件的特定历史版本,例如:rustfmtclippy

我的意图是,我希望始终在组件的特定版本(例如rustfmt, )上检查我的代码库clippy,然后仅在我特意进行评估后升级版本,而不是随机移动到最新版本。

rust rust-cargo

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

Python asyncio 从“call_soon_threadsafe”收集返回值

我试图理解 python asyncio 的call_soon_threadsafe API,但失败了,使用下面的示例代码,如果我的simple协程想要返回某些内容,我应该如何从调用方获取返回值?

import time
import asyncio as aio
import uvloop

from threading import Thread

aio.set_event_loop_policy(uvloop.EventLoopPolicy())

async def simple(a, fut:aio.Future):
  await aio.sleep(a)
  return fut.set_result(a)

def delegator(loop):
  aio.set_event_loop(loop)
  loop.run_forever()

loop_exec = aio.new_event_loop()

t = Thread(target=delegator, args=(loop_exec,))
t.start()


if __name__ == '__main__':
  start_time = time.time()

  fut = loop_exec.create_future() # tried to get back returned value by future
  handle = loop_exec.call_soon_threadsafe(aio.ensure_future, simple(3, fut))
  res = aio.wait_for(fut, 10)

  print('Time consumed: {}s'.format(time.time() - start_time))
  print('>>>>>>>>>>', res)

# Output
Time consumed: …
Run Code Online (Sandbox Code Playgroud)

python coroutine python-3.x python-asyncio

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

react-redux:`state.get`不是函数

我有如下的减速机:

// SignIn.js
const signIn = (state = {
  mobilePhone: {
    signInWay: 'email',
    countryCallingCode: '+65'
  }
}, action) => {
  switch (action.type) {
    case 'SIGN_IN':
      return Object.assign({}, state, action.signInForm);
    default:
      return state;
  }
};

export default signIn;

// UserInput.js
const userInput = (state = {}, action) => {
  switch (action.type) {
    case 'USER_INPUT':
      return Object.assign({}, state, action.kv);
    default:
      return state;
  }
};

export default userInput;

// Then index.js
import { combineReducers } from 'redux';

import userInput from './UserInput';
import signIn …
Run Code Online (Sandbox Code Playgroud)

reactjs react-redux

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

为什么runtime.Caller(0)返回构建二进制文件的路径?

正如问题标题所示,runtime.Caller(0)返回的路径实际上是二进制文件的构建位置(我的构建环境中的路径),而不是当前二进制文件所在的路径。

这对我来说有点难以理解,构建时信息是如何注入并带入运行时的?

我有一些这样的代码:

_, f, _, _ := runtime.Caller(0)
cfg.ProjRootPath = filepath.Join(filepath.Dir(f), "../..")
Run Code Online (Sandbox Code Playgroud)

然后我的管道(构建环境)构建二进制文件,然后我将二进制文件带到其他测试环境,并给cfg.ProjRootPath我一些仅存在于我的构建环境中的路径,例如: ,/j/prod-build7899/src/....这正是项目源代码所在的位置在构建管道上。

go

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