小编sig*_*lor的帖子

自动从 Turborepo 中的其他工作区转译 TypeScript 包

我有一个基于 Turborepo 的 monorepo,其中有一个主 TypeScript 应用程序(称为@myscope/tsapp),它使用同一存储库中的另一个 TypeScript 包(称为@myscope/tspackage)。您可以在这里找到我为此问题创建的示例存储库:https://github.com/sigalor/typescript-transpile-workspace-packages

\n

该文件apps/tsapp/src/index.ts如下所示:

\n
import { sum } from "@myscope/tspackage";\n\nconsole.log("The sum is:", sum(2, 3));\n
Run Code Online (Sandbox Code Playgroud)\n

该文件packages/tspackage/src/index.ts仅包含以下内容:

\n
export function sum(a: number, b: number): number {\n  return a + b;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

现在npm run dev在存储库的根目录中运行会产生以下结果:

\n
> typescript-transpile-workspace-packages@0.0.0 dev\n> turbo run dev\n\n\xe2\x80\xa2 Packages in scope: @myscope/tsapp, @myscope/tsconfig, @myscope/tspackage\n\xe2\x80\xa2 Running dev in 3 packages\n\xe2\x80\xa2 Remote caching disabled\n@myscope/tsapp:dev: cache bypass, force executing 0f1217618b24762f\n@myscope/tsapp:dev: \n@myscope/tsapp:dev: > @myscope/tsapp@0.0.0 …
Run Code Online (Sandbox Code Playgroud)

node.js typescript turborepo

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

拆分逗号分隔值并将它们映射到 SQLite 中的原始 ID

我有一个名为的表articles,其中包含以下格式的数据:

id|categories
--+----------
1|123,13,43
2|1,3,15
3|9,17,44,18,3
Run Code Online (Sandbox Code Playgroud)

出于测试目的,您可以使用以下 SQL 命令创建此表:

CREATE TABLE articles(id INTEGER PRIMARY KEY, categories TEXT);
INSERT INTO articles VALUES(1, '123,13,43'), (2, '1,3,15'), (3, '9,17,44,18,3');
Run Code Online (Sandbox Code Playgroud)

现在我想拆分categories列的值,以便得到如下所示的表:

id|category
--+--------
1|123
1|13
1|43
2|1
2|3
2|15
3|9
3|17
3|44
3|18
3|3
Run Code Online (Sandbox Code Playgroud)

如您所见,我想将原始表转换为第一范式

从这个答案中,我已经知道如何以这种方式分割一行。以下代码示例仅获取第二行(即 id=2 的行)并以所需的方式拆分它们:

WITH split(article_id, word, str, offsep) AS
(
    VALUES
    (
        2,
        '',
        (SELECT categories FROM articles WHERE id=2),
        1
    )
    UNION ALL
    SELECT
        article_id,
        substr(str, 0, CASE WHEN …
Run Code Online (Sandbox Code Playgroud)

sql sqlite

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

让函数返回C++类中的任何类型

我有这门课:

#define TYPE_INVALID 0x00
#define TYPE_BYTE    0x01
#define TYPE_SHORT   0x02
#define TYPE_INT     0x03
#define TYPE_LONG    0x04
#define TYPE_FLOAT   0x05
#define TYPE_DOUBLE  0x06

class BASIC_TYPE
{
    private:
        int8_t  type;
        int8_t  byteValue;
        int16_t shortValue;
        int32_t intValue;
        int64_t longValue;
        float   floatValue;
        double  doubleValue;

    public:
        BASIC_TYPE();
        template<typename T> BASIC_TYPE(int8_t, T);

        template<typename T> void set(T);
        template<typename T> T    get();
};

BASIC_TYPE::BASIC_TYPE()
{
    type = TYPE_INVALID;
}

template<typename T> BASIC_TYPE::BASIC_TYPE(int8_t newType, T value)
{
    type = newType;
    set(value);
}

template<typename T> void BASIC_TYPE::set(T value)
{
    switch(type) …
Run Code Online (Sandbox Code Playgroud)

c++

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

构造一个嵌套正方形的圆

我想构建一个嵌套正方形的圆圈,如下所示:

circleOfSquares

目前,我正在使用JavaScript/HTML5画布进行编程.这是我的代码:

<html>
<head>
<title>Circle of squares</title>
<script type="text/javascript">
var r = 150, u = 20, nests = 200;       //radius in pixels, circumference in squares, nests in squares
var w = r;                              //any number != 0

function getNewW()
{
    if(u < 3)
        alert("Error: u < 3 (" + u + " < 3)!");

    var tangents = new Array(new Array(0, w/2), new Array(Math.sin((1/u*360)*(Math.PI/180))*(w/2), -Math.cos((1/u*360)*(Math.PI/180))*(w/2)));
    var sta = new Array(new Array(r, 0), new Array(Math.cos((1/u*360)*(Math.PI/180))*r, Math.sin((1/u*360)*(Math.PI/180))*r));
    var end = new Array(new Array(sta[0][0]+tangents[0][0], sta[0][1]+tangents[0][1]), …
Run Code Online (Sandbox Code Playgroud)

javascript math html5 canvas

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

识别标识符不起作用的派生类

我正在尝试使用C++中的唯一标识符编号为派生类创建通用接口.

这就是我的代码的样子(至少需要C++ 11来编译它):

#include <iostream>
#include <memory>

class Base
{
    protected:
        int ident;
        Base(int newIdent) : ident(newIdent) { }

    public:
        Base() : ident(0x01) { }
        virtual ~Base() { }           //needed to make class polymorphic
        int getIdent() { return ident; }
};

class Derived : public Base
{
    protected:
        int answer;
        Derived(int newIdent, int newAnswer) : Base(newIdent), answer(newAnswer) { }

    public:
        Derived(int newAnswer) : Base(0x11), answer(newAnswer) { }
        int getAnswer() { return answer; }
};

int main()
{
    std::shared_ptr<Base> bPtr = …
Run Code Online (Sandbox Code Playgroud)

c++ shared-ptr c++11

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

使用variadic函数作为模板参数

我想在不改变Child1Child2类的情况下使以下代码工作:

#include <iostream>

int triple(int a) {
    return a * 3;
}

int add(int a, int b) {
    return a + b;
}

template<int (*F)(int)>
class Parent {
    public:
        Parent(int a) {
            std::cout << "constructed: " << F(a) << std::endl;
        }
};

class Child1 : Parent<triple> {
    public:
        Child1(int a) : Parent(a) {}
};

/*class Child2 : Parent<add> {
    public:
        Child2(int a, int b) : Parent(a, b) {}
};*/

int main() {
    Child1 child(4);
    //Child2 child(5, …
Run Code Online (Sandbox Code Playgroud)

c++ templates variadic-functions variadic-templates

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