小编Rad*_*asz的帖子

如何将文件夹添加到给定Anaconda环境的搜索路径?

我正在用Python开发一个项目,我想要包含一些不在常规Python搜索路径上的模块,我想添加它们.但是,我想这只是为了我在开发过程中使用的Anaconda环境,我希望它们随着时间的推移保持在那里(即当我重新启动环境时,我希望搜索路径具有该文件夹).

谢谢!

python python-3.x anaconda

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

TypeScript类实现具有私有函数的类

我正在探索在TypeScript中实现类的可能性.

因此,我编写了以下代码Playground链接:

class A {
    private f() { console.log("f"); }
    public g() { console.log("G"); }
}

class B implements A {
    public g() { console.log("g"); }
}
Run Code Online (Sandbox Code Playgroud)

我得到了错误:Class 'B' incorrectly implements class 'A' --- property 'f' is missing in type 'B'加上我实际意味着的建议extends.

所以我试着创建一个私有字段f(public没有工作,因为它检测到它们有不同的访问修饰符)Playground链接

现在我得到了错误:Class 'B' incorrectly implements class 'A'. Types have separate declarations of a private property 'f'; 这让我很困惑:

  • 为什么私有成员甚至很重要 - 如果我使用不同的数据结构实现相同的算法,我是否必须为了类型检查而声明一些名称相同的东西?
  • 为什么在实现f私有函数时会出现错误?

我不会在实践中这样做,但我很好奇TS为何如此工作.

谢谢!

implements typescript

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

使用 TypeScript Compiler API 在函数前添加注释

我有一个 TypeScript 文件,我想将其转换为 JavaScript。作为翻译的一部分,我想在每个函数之前添加注释,我希望使用 TypeScript Compiler API 来做到这一点。

我尝试了两种不同的方法。其中之一是抓住SourceFile并改变它的statements,像这样:

const program = ts.createProgram([args.input], {});
const srcFile = find(program.getSourceFiles(), (sourceFile) => !sourceFile.isDeclarationFile);
srcFile.statements = ts.createNodeArray(srcFile.statements.map((statement) => {
    if (!ts.isFunctionDeclaration(statement)) {
        return statement;
    }
    return ts.addSyntheticLeadingComment(
        statement,
        ts.SyntaxKind.MultiLineCommentTrivia,
        "My long desired comment",
        true,
    );
}));
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

TypeError: Cannot read property 'emitNode' of undefined
at getOrCreateEmitNode (/Users/.../node_modules/typescript/lib/typescript.js:52792:19)
at getOrCreateEmitNode (/Users/.../node_modules/typescript/lib/typescript.js:52801:17)
at setSyntheticLeadingComments (/Users/.../node_modules/typescript/lib/typescript.js:52918:9)
at Object.addSyntheticLeadingComment (/Users/.../node_modules/typescript/lib/typescript.js:52923:16)
at /Users/.../dist/index.js:26:15
at Array.map (<anonymous>)
at Object.<anonymous> (/Users/.../dist/index.js:21:60)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js …
Run Code Online (Sandbox Code Playgroud)

typescript typescript-compiler-api

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

stdin 在 Linux 中是否被视为字符设备?

当我说 stdin 时,我指的是 fd = 0所指的

我正在学习一门涵盖块设备和字符设备的操作系统课程。具体说键盘是字符设备。然而,当我们看到read系统调用时,我们被告知内核并不关心它正在读取什么,只要它是块设备或块设备上的文件。

这是我们得到的代码:

#include <stdlib.h>
#include <unistd.h>

const int BUFFSIZE = 5;

int main () {
  int fd, n;
  char buffer[BUFFSIZE];

  int stdin = 0;
  int stdout = 1;
  int stderr = 2;

  do {
    n = read (0, buffer, BUFFSIZE);
    if (n < 0) {
      write (stderr, "Error occurred\n", 10);
    } else {
      write (stdout, "Entered if\n", 20);
      write (stdout, buffer, n);
    }
  } while (n > 0);
  return 0; …
Run Code Online (Sandbox Code Playgroud)

c linux io operating-system input-devices

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