我正在尝试确定是否存在constGolang 名称的命名约定.
我个人倾向于遵循C风格并以大写形式编写它们,但我在这个页面上找不到任何内容http://golang.org/doc/effective_go.html这似乎列出了该语言的一些命名约定.
我有以下源代码,我感兴趣.
#include <stdio.h>
extern int foo;
int foo = 32;
int main()
{
printf("%d", foo);
}
Run Code Online (Sandbox Code Playgroud)
这是一段非常正常的代码,当我编译它时
gcc -Wall -Wextra -pedantic foo.c
Run Code Online (Sandbox Code Playgroud)
我没有得到任何警告.
这似乎很奇怪,因为变量既被定义为外部变量又被定义为同一文件中的全局变量.我很确定链接器很容易在同一个文件中找到外部变量的引用,但它看起来不像编码错误吗?如果是这样,为什么编译器不会对此发出警告?
我有一个用rebar编译的erlang应用程序.
通常我会这样开始:
application:start(myapp).
Run Code Online (Sandbox Code Playgroud)
从erl shell里面.
谁能告诉我如何像正常的命令行程序一样启动它?
我很新django,并经历了很多天的教程,我已经开始使用django构建一个小网站,并尝试css通过在settings.py文件中安排所有必要的设置来提供文件.但不幸的是我的代码无法提供css文件,我的意思是服务css文件的概念不起作用.我google了很多,并通过django主要文档教程并根据它们进行了更改,但仍然无法工作所以接近SO并粘贴我的下面的整个代码
项目文件夹的结构
personnel_blog
|____personnel_blog
|____manage.py |
|____media
|____static
| |____css
| |____personnel_blog_hm.css
|____template
| |____home_page.html
|____settings.py
|____urls.py
|____views.py
|____wsgi.py
Run Code Online (Sandbox Code Playgroud)
我的一些settings.py文件设置如下
settings.py
import os
PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))
DEBUG = True
MEDIA_ROOT = os.path.join(PROJECT_DIR,'media')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(PROJECT_DIR,'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR,'static'),
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
) …Run Code Online (Sandbox Code Playgroud) 检查类中的字段是否正在打字的最佳方法是什么?可选?
示例代码:
from typing import Optional
import re
from dataclasses import dataclass, fields
@dataclass(frozen=True)
class TestClass:
required_field_1: str
required_field_2: int
optional_field: Optional[str]
def get_all_optional_fields(fields) -> list:
return [field.name for field in fields if __is_optional_field(field)]
def __is_optional_field(field) -> bool:
regex = '^typing.Union\[.*, NoneType\]$'
return re.match(regex, str(field.type)) is not None
print(get_all_optional_fields(fields(TestClass)))
Run Code Online (Sandbox Code Playgroud)
fields来自哪里dataclasses,我想列出所有Optional字段。我现在正在做的解决这个问题是使用基于字段名称的正则表达式,但我不喜欢这种方法。有更好的方法吗?
我正在开发一种测试框架,它恰好有名为“TestSomething当然”的类。我意识到我的测试失败了,因为 pytest 将这些类视为“我需要实例化和运行的东西!”,一旦导入。而这绝对行不通。
import pytest
from package import TestSomethingClass
Run Code Online (Sandbox Code Playgroud)
是否可以直接从 pytest 测试文件导入此类?或者我应该通过固定装置间接使用它们?
同样的问题也适用于异常,因为我需要做类似的事情
with pytest.raises(TestsSomethingError):
Run Code Online (Sandbox Code Playgroud) 我正在尝试使剪贴板可用于某些QML代码.
传递剪贴板对象似乎有效,但后来我无法调用它的方法.
下面是一个QClipboard在C++中运行良好,传递给QML的例子,在调试输出中它仍然是一个QClipboard对象但却失去了它的功能.
main.cpp中
#include <QApplication>
#include <QClipboard>
#include <QQmlApplicationEngine>
#include <qqmlcontext.h>
#include <QtQml>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("clipboard", QApplication::clipboard());
qDebug() << QApplication::clipboard()->text(); // This correctly prints the copied text
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
main.qml
import QtQuick 2.5
import QtQuick.Controls 1.3
ApplicationWindow {
visible: true
MouseArea {
acceptedButtons: Qt.MiddleButton
anchors.fill: parent
onClicked: {
console.log(clipboard)
console.log(clipboard.getText())
}
}
}
Run Code Online (Sandbox Code Playgroud)
qml.qrc
<RCC>
<qresource prefix="/">
<file>main.qml</file>
</qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)
test.pro
TEMPLATE = app
VERSION = 1.0
QT …Run Code Online (Sandbox Code Playgroud) 我在github上有一个项目,这是一个大项目的分支。我为此创建了一个插件,但他们告诉我它们将不包括该插件,因此我必须将其单独运送,所以现在我想分叉已经分叉的项目,但不是全部,而是我做该插件的目录。可能吗?
编辑: 显然在github上我不能叉我自己的存储库,所以我认为答案是否定的。
我正在尝试从Unofficial Windows Binaries for Python Extension Packages安装 OpenCV 。
\n\n我下载了以下文件:opencv_python\xe2\x80\x913.4.3\xe2\x80\x91cp37\xe2\x80\x91cp37m\xe2\x80\x91win_amd64.whl,\n当我这样做时pip install "opencv_python\xe2\x80\x913.4.3\xe2\x80\x91cp37\xe2\x80\x91cp37m\xe2\x80\x91win_amd64.whl",弹出了一条错误消息。
错误:opencv_python-3.4.3+contrib-cp37-cp37m-win_amd64.whl is not a supported wheel on this platform.
根据我在谷歌搜索和 SO-ing 后了解到的情况,这是由于CPython构建之间不匹配(下载的 Wheel 文件和我系统上的 Python 环境之间)造成的问题。
\n\n因此,我尝试寻找方法来确定我的系统上是哪个 CPython 版本,但失败了。
\n\n到目前为止我尝试过的:
\n\nimport platform\nplatform.python.implementation()\nRun Code Online (Sandbox Code Playgroud)\n\n这给出了:
\n\n\'CPython\' \nRun Code Online (Sandbox Code Playgroud)\n\n此外,我尝试了 \nplatform.architecture()\n 给出了:
\n\n(\'64bit\', \'WindowsPE\')\nRun Code Online (Sandbox Code Playgroud)\n\n后来我只是搜索了我的site-packages文件夹并找到了一些文件,例如__init__.cpython-36.pyc,因此假设我正在使用 CPython 3.6。
是否有更多基于编程的方法来通过终端检查相同的内容?
\n\n任何形式的帮助表示赞赏。TIA。
\n