小编sta*_*ape的帖子

将模块拆分为多个文件

我希望有一个包含多个结构的模块,每个模块都在自己的文件中.Math模块为例:

Math/
  Vector.rs
  Matrix.rs
  Complex.rs
Run Code Online (Sandbox Code Playgroud)

我希望每个结构都在同一个模块中,我将从我的主文件中使用它,如下所示:

use Math::Vector;

fn main() {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

然而,Rust的模块系统(开始时有点混乱)并没有提供一种明显的方法来实现这一点.它似乎只允许您将整个模块放在一个文件中.这不是质朴的吗?如果没有,我该怎么做?

module rust

87
推荐指数
6
解决办法
3万
查看次数

是否应该将 setter 函数传递到 React hook 的依赖数组中?

最近,我在同事的 React 代码中看到了一些将 setter 函数传递到钩子依赖数组的示例,这对我来说看起来不太正确。例如:

const MyComponent = () => {
  const [loading, setLoading] = useState(true);
  useEffect(() => {
    doSomeBigLongNetworkRequest();
    setLoading(false);
  }, [setLoading, /* other deps */]);
  // ...
}
Run Code Online (Sandbox Code Playgroud)

我的感觉是他们误解了依赖数组的目的,据我理解,依赖数组是为了指示要监视哪些状态,以便钩子在它们更改时可以再次触发,而不是简单地指示钩子需要使用该setLoading功能。由于该setLoading函数实际上从未改变,因此将其包含在依赖项中不会执行任何操作。

我是否正确,或者将设置器包含在数组中是否有意义?我的另一个想法是,也许这只是一个 linter 错误,因为 linter 无法识别该函数是 setter,并认为它可能会改变。

我还应该补充一点,在我见过的实例中,它们包含了 setter,但不包含变量。因此,在上面的示例中,setLoading,但不是loading将在依赖项数组中,并且钩子实际上不需要 的值loading

javascript reactjs react-hooks

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

Rails - 如何禁用所有控制台日志记录?

来自javascript背景,我在运行rails时发现命令行杂乱无章.每当发生某些事情时,我的命令行都会被一堆垃圾填满.例如:

[2013-06-19 20:25:53] WARN  Could not determine content-length of response body.
 Set content-length of the response or set Response#chunked = true
Run Code Online (Sandbox Code Playgroud)

如何关闭它以便我只看到自己的日志(当然还有错误)?

任何帮助表示赞赏!

ruby console ruby-on-rails

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

Python - 如何打印Sqlite表

这里我有一些简单的python代码来查询sqlite3数据库.

import sqlite3 as lite

conn = lite.connect('db/posts.db')
cur = conn.cursor()

def get_posts():
    cur.execute("SELECT * FROM Posts")
    print(cur.fetchall())

get_posts()
Run Code Online (Sandbox Code Playgroud)

我已经创建了这个表Posts.当我运行它时,我没有错误,它只是打印出来[].我知道表Posts不是空的,我在REPL中创建它.为什么这不起作用?

任何帮助表示赞赏!

python database sqlite

7
推荐指数
2
解决办法
2万
查看次数

Node.js - 如何在本地计算机上设置服务器并允许某人访问它(用于测试)

我正在编写一个 Node.js 应用程序,需要找一位朋友帮助我测试它(在不同的位置)。我可以在本地计算机上设置一些东西以允许他访问吗?我尝试过谷歌搜索,但没有找到什么帮助。

有人可以告诉我怎么做吗?我意识到这对于生产目的来说是一个糟糕的想法,但我只计划将其用于测试,因为该项目的预算有点紧张。

任何帮助表示赞赏!

testing node.js

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

有编译为 javascript 的 lisp 吗?

我最近开始学习一些计划,并且非常喜欢它。然而,我主要使用 Javascript(和 Coffeescript),因此方案对我来说并不是特别有用。我想我可以将它用作脚本语言,但我使用 ruby​​ 和 python。

那么是否有一个 Lisp 可以:

  • 编译为 JS
  • 与Javascript代码兼容
  • 有不错的文档

我意识到这可能不存在,因为 lisp 并不是真正的主流,但如果确实存在,有人可以指出我吗?

javascript lisp scheme compilation

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

HTML/Javascript - 按钮需要两次点击才能执行点击事件

但是,测试一个简单的切换显示,第一次切换显示需要两次点击.之后它会在一个中完成.

<html>
<head>
<style>
#carousel{border:2px solid blue;
width:1280px;
height:720px;}

#p2{visibility:hidden;}

#p1{display:block;}

#btn{position:absolute;
    top:2000px;}
</style>

<script src="mainScript.js"></script>
</head>

<body>

<div id="carousel">
    <img id="p1" src="pic1.jpg">
    <img id="p2" src="pic2.jpg">
</div>

<button type="button" id="button" onclick="clickEvent()">Click</button>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的javascript:

function clickEvent(){
var p = document.getElementById("p1");
if(p.style.display == "block")
    p.style.display = "none";
else
    p.style.display = "block";
}
Run Code Online (Sandbox Code Playgroud)

应该注意我没有使用jQuery,因为我发现的所有其他问题都与jQuery有关.

html javascript onclick button

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

如何让我的网络上的其他人可以访问node.js服务器?

这是一个非常直截了当的问题.通常在节点应用程序中,你放http.listen('1300', '127.0.0.1);.有没有办法做到这一点,以便我的网络上的其他计算机可以访问服务器?

我试过这个:

http.listen('1300', '192.168.0.1);
Run Code Online (Sandbox Code Playgroud)

除此之外:

http.listen('1300', [My IP address]) 
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

javascript node.js

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

Jinja2 搞乱了小于和大于字符

所以在 Jinja2 中我有这样的代码:

<div id='posts'>
    <!-- Display all posts -->
    {% for p in posts %}
        <div class='post'>
            <h3>{{ p[1] }}</h3>
            {{ p[2] }}  
        </div>
    {% endfor %}
</div>  
Run Code Online (Sandbox Code Playgroud)

这才p[2]是重要的。它只是一个值为 的 unicode 字符串"<p>content</p> <b>bold</b>"。我希望它显示为 html,但是当我加载页面时,它的显示方式如下:

它显示不正确

然而,当我查看页面源代码时,它看起来像这样:

&lt;p&gt;content&lt;/p&gt; &lt;b&gt;bold&lt;/b&gt;
Run Code Online (Sandbox Code Playgroud)

我想要的只是让它显示为正常的 HTML。我感觉这是一些奇怪的编码问题,而我对此知之甚少。任何帮助表示赞赏!

python jinja2 flask

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

即使我链接到该文件,我收到错误"createjs未定义"

在这里,我有一个非常简单的脚本.

stage = new createjs.Stage("myCanvas");

circle = new createjs.Shape();
circle.graphics.beginFill("red").drawCircle(0,0,40);
Run Code Online (Sandbox Code Playgroud)

还有我的HTML

<!DOCTYPE HTML>

<html>
<head>

<link rel="stylesheet" type="text/css" href="mainStyle.css">
<script src="mainScript.js"></script>
<script src="create.js"></script>

</head>
<body>  

    <canvas id="myCanvas" width=1000 height=500 ></canvas>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我收到此错误:

"createjs未定义"

但在我的HTML中它链接到文件.还有什么可能导致这个吗?

javascript easeljs createjs

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