我正在使用Visual C++开发游戏.我在单独的项目中有一些组件,并设置了项目依赖项.我如何#include来自不同项目的头文件?我不知道如何在另一个项目中使用类.
使用以下命令安装 python 版本:
$ pyenv install 3.8.9
Installed Python-3.8.9 to /Users/robino/.pyenv/versions/3.8.9
Run Code Online (Sandbox Code Playgroud)
列出现在可用的 python 版本:
$ pyenv versions
* system
3.8.2
3.8.9
Run Code Online (Sandbox Code Playgroud)
一周过去了,我忘记了它安装在哪里。现在假设我想获取 3.8.9 版本的可执行路径。以下内容不起作用:
$ pyenv which 3.8.9
pyenv: 3.8.9: command not found
$ pyenv which python 3.8.9
(gives path to system python)
$ pyenv which python-3.8.9
pyenv: python-3.8.9: command not found
$ pyenv which Python-3.8.9
pyenv: Python-3.8.9: command not found
Run Code Online (Sandbox Code Playgroud)
我发现的解决方法是设置 python 版本,检查,然后将其设置回系统:
$ pyenv local 3.8.9
$ pyenv which python
/Users/robino/.pyenv/versions/3.8.9/bin/python
$ pyenv local --unset
Run Code Online (Sandbox Code Playgroud)
然而,这是一个次优的解决方案,因为它要求之前没有设置本地。
使用 pyenv …
好的,我们有一些代码:
//I complie nicely
ValueType[] good = new ValueType[1];
good[0].Name = "Robin";
//I don't compile: Cannot modify expression because its not a variable
IList<ValueType> bad = new ValueType[1];
bad[0].Name = "Jerome";
struct ValueType
{
public string Name;
}
Run Code Online (Sandbox Code Playgroud)
幕后究竟是什么导致编译器阻挠?
//Adding to watch the following
good.GetType().Name //Value = "ValueType[]" It's a ValueType array.
bad.GetType().Name //Value = "ValueType[]" Also a ValueType array.
Run Code Online (Sandbox Code Playgroud)
编译器阻止我修改我想要更改的对象副本的成员.但为什么要从这个阵列制作副本?
更多的研究投入:
var guess = (ValueType[]) bad;
guess[0].Name="Delilah";
Run Code Online (Sandbox Code Playgroud)
现在,您的想法bad[0].Name
是什么?没错,这是"Delilah".
为什么这会变成BOOM?
using System;
using System.Linq;
namespace Test
{
internal class Program
{
private static void Main(string[] args)
{
try
{
// 1. Hit F10 to step into debugging.
string[] one = {"1"}; //2. Drag arrow to make this next statement executed
// 3. Hit f5.
Enumerable.Range(1,1)
.Where(x => one.Contains(x.ToString()));
}
catch (Exception exception)
{
Console.Write("BOOM!");
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我想使用Visual Studio并使用类型提示(例如在函数参数列表中)查看智能感知,以锻炼变量的类型。
这可以通过isinstance(param,type)
语句来实现,但是我想知道如果没有这些附加语句,是否可以使它起作用:
注意:我已经尝试将Visual Studio与适用于Visual Studio的Python工具以及2017年初的Visual Studio Preview一起使用,该工具内置了python支持,但似乎都不喜欢类型提示。
SQLAlchemy relies on me building ORM classes like this:
from sqlalchemy import Column, DateTime, String, Integer, ForeignKey, func
from sqlalchemy.orm import relationship, backref
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Department(Base):
__tablename__ = 'department'
id = Column(Integer, primary_key=True)
name = Column(String)
Run Code Online (Sandbox Code Playgroud)
有没有可以为我完成此操作的工具/脚本/程序?
例如,在 C# 中,我只需将数据项从数据库资源管理器拖放到 VisualStudio 中,即可自动生成实体类(SQL 到 LINQ)。我正在为 python 寻找类似的东西。我正在 VisualStudio 和/或 Spyder 中工作。
在 Excel 中,我将 ActiveX 框架插入工作表中。右键单击该框架可以让我选择:
框架对象>编辑
现在我可以向该框架添加一个按钮。伟大的。
如何向此按钮添加 _Click 事件以便它运行宏?
Java 代码块由大括号分隔 ,将{
光标}
移动到大括号的开头和结尾是开发人员的常见用例。因此,JetBrains IDE Intellij有这些的快捷方式。他们是:
ctrl+[转到块开始
ctrl+]转到块末尾
Java 中函数的参数列表由(
圆括号分隔)
,我们经常希望位于这段代码的开头或结尾。此功能各自的快捷键是什么?
“信任对 VBA 项目模型的访问”是我在“启用所有宏”之后本能地单击的内容,只是因为我没有时间来判断它是否会破坏我想要运行的代码。
这很顽皮——我应该知道我在做什么及其含义。假设我已经启用了所有宏,当我打开对 VBA 项目模型的信任访问的潘多拉魔盒时,我会遇到哪些额外的功能/危险?
这行代码在不信任访问的情况下运行:
VBAProject.Sheet1.Calculate
Run Code Online (Sandbox Code Playgroud)
请您发布一些需要可信访问的代码吗?
假设我有一个对象:
public class A
{
private int m_a;
private int m_b;
A(int a, int b)
{
m_a = a;
m_b = b;
}
}
Run Code Online (Sandbox Code Playgroud)
这可以完成工作,但我有一个朦胧的记忆被告知它不必要地将整数复制到参数a和b中,然后复制到m_a和m_b中.有没有办法定义类,使参数直接传递给它们的成员对应物?
请注意,我不想讨论C#Object Constructor - 简写属性语法,因为onus是在使用该类的人.
当然,我可能完全错了,也许编译器会消除这些琐事,因此我应该乐意接受任何一种方式的教育.
c# ×3
excel ×2
python ×2
vba ×2
.net ×1
activex ×1
c++ ×1
constructor ×1
debugging ×1
events ×1
f# ×1
frame ×1
intellisense ×1
java ×1
namespaces ×1
orm ×1
ptvs ×1
pyenv ×1
python-3.x ×1
security ×1
settings ×1
sqlalchemy ×1
struct ×1
syntax ×1
type-hinting ×1
version ×1