我有一个琐碎的node.js码头工人应用程序。
我能够成功运行它,但是尽管按照docker-compose docs中的说明安装了卷,但是在容器内部重新加载代码仍然无法正常工作。
目录布局:
my-test-app
| docker-compose.yml
| Dockerfile
| index.js
| package.json
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM mhart/alpine-node:8
WORKDIR /app
COPY . .
EXPOSE 5000
CMD ["node", "index.js"]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml:
version: '3'
services:
node-app:
build: .
ports:
- "5000:5000"
volumes:
- .:/app
redis:
image: "redis:alpine"
Run Code Online (Sandbox Code Playgroud)
index.js:
const http = require('http');
const server = http.createServer((req, res) => {
res.end("hello world");
});
server.listen(5000);
Run Code Online (Sandbox Code Playgroud)
package.json:
{
"name": "my-test-app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit …Run Code Online (Sandbox Code Playgroud) 我理解它的目的,但是我想知道什么是最pythonic的使用方法if __name__ == '__main__'?
我把我的所有代码放在一个main()函数中并将它调用为:
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
或者不打扰它,只是在那里编写所有顶级代码:
if __name__ == '__main__':
# all top-level code...
Run Code Online (Sandbox Code Playgroud) 假设我有一个非常简单的功能:
def myFunction(arg1, arg2):
return arg1, arg2
Run Code Online (Sandbox Code Playgroud)
现在,如果我只想访问第二个参数,可以执行以下操作:
none, arg2 = myFunction(arg1, arg2)
Run Code Online (Sandbox Code Playgroud) 这可能是一个简单的问题,但我似乎无法弄明白.在下面的示例中,我想创建一个list-of-obj递归创建项列表的函数.
例:
> (list-of-obj 'a 5)
'(a a a a a)
Run Code Online (Sandbox Code Playgroud)
代码:
#lang racket
(define (list-of-obj obj n)
(letrec ((helper
(lambda (obj n result)
(if (> n 0)
(helper obj (- n 1) (cons obj result))
result))))
helper obj n 0))
Run Code Online (Sandbox Code Playgroud)
然而,这导致输出0.有什么指针吗?我是球拍/计划的新手.
python ×2
python-2.7 ×2
arguments ×1
coding-style ×1
docker ×1
dockerfile ×1
function ×1
lambda ×1
lisp ×1
node.js ×1
racket ×1
scheme ×1