小编rie*_*efr的帖子

函数调用变量输出编号

我发现自己试图将自定义类与内置函数接口,我遇到了一个我只能用eval解决的情况,我想要一种"更清洁"的方式.

基本上,内置函数定义为varargout=blabla(varargin) 我在自定义类中定义了一个覆盖函数,如varargout=blabla(varargin).该功能如下:

function varargout=blabla(varargin)
    varargout=blabla(function_of_varargin)
end
Run Code Online (Sandbox Code Playgroud)

函数varargin将它从自定义类转换为内置类.

但它不能按原样工作:基本上当在overriden函数内部调用内置函数时,它只能看到一个输出参数(varargout),即使使用多个输出参数调用自定义覆盖函数也是如此.

我通过基本上调用它来解决它:

[varargout{1},varargout{2},...,varargout{nargout}]=blabla(function_of_varargin)
Run Code Online (Sandbox Code Playgroud)

用循环和评估构建LHS.

parameters matlab function output

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

Make:对 docker 镜像的依赖

我正在使用 docker 工作流程根据给定的规范文件生成一些文件,其中 Makefile 为(它根据 OpenAPI 规范生成客户端):

SWAGGER ?= ${PWD}/swagger.yaml
GENERATOR ?= openapitools/openapi-generator-cli\:latest

generated: Makefile ${SWAGGER}
    docker run --rm --user $$(id -u):$$(id -g) \
    -v ${PWD}:/output -v ${SWAGGER}:/input/swagger.yaml \
    ${GENERATOR} \
    generate -g python -i /input/swagger.yaml -o /output/generated \
Run Code Online (Sandbox Code Playgroud)

这工作正常,如果我修改输入 SPEC 文件,将会重建。

但当 docker 镜像更改时,它不会重建。

假设我再次docker build使用相同的图像name:tag,但内部代码不同,或者我使用上游图像的不同标记版本,无论如何。这是预料之中的,因为 Makefile 不知道 docker 镜像的内容或修改日期。如何使 Makefile 理解对 docker 映像的依赖关系?

  • 我尝试使用docker inspect图像来获取创建日期,但我不知道如何将make其理解为依赖项(如果创建日期比输出目录新,则重建)
  • 我不能只添加对 docker 映像内代码的依赖项,因为 docker 映像甚至可能不是从本地可用文件构建的。

make可能不是这类事情的工具,也许我可以使用其他东西来理解 docker 镜像依赖性。

makefile docker

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

matlab帮助,doc命令很慢

我无法理解为什么会这样做,但是因为几天的帮助需要花费很多时间来展示.内联(选择功能,选择"帮助"),或使用命令dochelp.该命令doc cmdname大约需要10秒钟才能显示帮助窗口.我做了,fwrite举个例子,尝试profile on;doc fwrite;profile viewer挖掘兔子洞,我到达了私有的java matlab方法,这是永远的:

tic;
com.mathworks.mlwidgets.help.HelpUtils.getDocCommandArg('matlab\fwrite', true);
toc 

Elapsed time is 9.993832 seconds.
Run Code Online (Sandbox Code Playgroud)

知道是什么导致了这个问题吗?它也发生在安全模式下,没有其他运行程序而不是MATLAB.我会尝试完全重新安装MATLAB,但如果我能避免这样那就太好了.

matlab

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

标签 统计

matlab ×2

docker ×1

function ×1

makefile ×1

output ×1

parameters ×1