小编adi*_*c21的帖子

控制台记录反应?

我是React的新手,我正试图为Meteor设置它并从其他来源拼凑起来.其中一个其他来源为应用程序设置了控制台日志记录,但我将采用ES6/JSX方式,因此只使用他们的代码对我来说不起作用(或者它似乎不是这样).

我找到的一些代码是

import Logger from 'simple-console-logger';
Logger.configure({level: 'debug'});
Run Code Online (Sandbox Code Playgroud)

但我看到了这个错误 找不到模块'./dumy'

我也尝试使用react-logger,react-console-logger但无济于事.这是我后者的代码,我认为应该可行.

import {Logger, ConsoleLogger} from 'react-console-logger';
const myLogger = new Logger();
export default class App extends Component {
    render() {
        myLogger.info('something witty');
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,myLogger.info('...')正在调用node_modules/react-console-logger/lib/Logger.js它被定义为

代码图片,因为复制粘贴不起作用

并且this.logger未定义,虽然我看到它在上面被定义了?

有谁知道我做错了什么?它看起来像库有错误,但也许它与我使用JSX文件而不是js有关?

javascript logging jsx meteor reactjs

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

我可以让boost :: write_graphviz只写边缘吗?

我试图让BGL输出一个只有边缘的文件,因为我正在做一个最大连通分量,我不想删除顶点,但如果没有边缘我也不想绘制它们.

我的点文件现在是:

graph G {
0;
1;
2;
3;
4;
5;
6;
7;
8;
9;
10;
11;
12;
0--1 [label="-3"];
0--5 [label="-2"];
2--3 [label="-8"];
3--8 [label="-4"];
4--5 [label="-1"];
4--6 [label="-6"];
4--7 [label="-5"];
4--8 [label="-10"];
8--9 [label="-9"];
}
Run Code Online (Sandbox Code Playgroud)

我通过跑步打印出来

boost::write_graphviz(myfile, G, boost::default_writer(), make_edge_writer(w_map));
Run Code Online (Sandbox Code Playgroud)

make_edge_writer(w_map)确保我拿到打印出来的重量(忽略负号,我实际上做了最大生成树,但我的玩具例子有正沿).

现在,graphviz分别在我的正确图形中绘制了9个顶点,加上顶点{10,11,12).如果我手动编辑我的点文件为:

graph G {
0--1 [label="-3"];
0--5 [label="-2"];
2--3 [label="-8"];
3--8 [label="-4"];
4--5 [label="-1"];
4--6 [label="-6"];
4--7 [label="-5"];
4--8 [label="-10"];
8--9 [label="-9"];
}
Run Code Online (Sandbox Code Playgroud)

然后运行graphviz,我得到相同的图形减去剩余的顶点!这基本上意味着graphviz不需要事先知道顶点,对吧?

所以,任何人都知道如何write_graphviz预先不写顶点索引?我不想删除那些顶点,因为在实际例子中,剩余顶点可能在图形内部,然后我的顶点数字将不对应于我的输入..

此外,这真的不是什么大问题,但它一直在困扰我,我想知道是否有人知道如何做到这一点.我尝试改变boost::default_writer()自己的代码(没有做任何事情),但似乎没有任何区别.

c++ boost graph

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

FILE*f初始化为C++中的内容?

我想选择是否将结果写入文件,所以我的文件名为fnm,如果是空白("")我将不会创建/写入文件.基本上我有:

FILE* f;

if(fnm!=""){
//open file for writing
    f = fopen(fnm.c_str(), "a+");
}

/*do some other stuff*/

for(int idx=0;idx<n;idx++){
    printf("%d\t\t%d\t\t%d\n", k, idx, A[idx]);
    if(f!=NULL){
        fprintf(f,"%d\t\t%d\t\t%d\n", k, idx, A[idx]);
    }
}

if(f!=NULL){
    //close the file
    fclose(f);
}
Run Code Online (Sandbox Code Playgroud)

现在,f实际上并没有NULL在声明时初始化FILE* f;.如果我手动初始化它FILE* f=NULL;,它工作正常,所以这主要是我对默认初始化感到好奇.我之前用谷歌搜索过,但答案是针对C的,他们说它初始化为NULL.

c++ visual-studio-2010

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

标签 统计

c++ ×2

boost ×1

graph ×1

javascript ×1

jsx ×1

logging ×1

meteor ×1

reactjs ×1

visual-studio-2010 ×1