小编wln*_*ana的帖子

何时在Python的AST中使用ExtSlice节点?

绿树蛇给出使用示例ExtSlice

>>> parseprint("l[1:2, 3]")
Module(body=[
    Expr(value=Subscript(value=Name(id='l', ctx=Load()), slice=ExtSlice(dims=[
        Slice(lower=Num(n=1), upper=Num(n=2), step=None),
        Index(value=Num(n=3)),
      ]), ctx=Load())),
  ])
Run Code Online (Sandbox Code Playgroud)

但是,此语法在交互式python shell中不起作用:

>>> foo = range(10)
>>> foo[1:2,3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
Run Code Online (Sandbox Code Playgroud)

有人知道如何使用此功能吗?

相关讨论:

python internals abstract-syntax-tree

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

如何在makefile中为目标编写特定规则?

我知道标题很模糊,但我不知道如何简明扼要地描述我的问题.如果需要,请编辑.

目前我的makefile如下所示:

CC = g++
CFLAGS = -Wall -g

TARGET = foobar
SRC_FILES = foo.cpp bar.cpp main.cpp
OBJ_FILES := $(SRC_FILES:.cpp=.o)

$(TARGET): $(OBJ_FILES)
    $(CC) $(CFLAGS) $^ -o $@

%.o: %.cpp %.h
    $(CC) $(CFLAGS) -c $<

clean:
    rm -rf *.o $(TARGET)
Run Code Online (Sandbox Code Playgroud)

问题是这个结构需要main.cpp有一个main.h头文件,我真的没有.我怎么能很好地处理这个?

c++ makefile

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

AdoptOpenJDK 不是使用 OpenJDK(的 JVM)吗?

AdoptOpenJDK 项目似乎提供了与 HotSpot JVM 捆绑在一起的 JDK(作为一种可能的选择)。但是它和 OpenJDK 有什么关系呢?


我理解OpenJDK 一词可能含糊不清。这里我指的是(引自维基百科

Java 平台标准版 (Java SE) 的免费开源实现。

我认为它已经包含一个 JVM。

java jvm adoptopenjdk

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

为什么在java中记录被认为是产品类型而类不是?

Java 16 将正式提供记录功能据其中一位作者称,这是一种产品类型。

我了解记录的内部状态范围来自由成员字段构建的笛卡尔积空间,因此是产品类型的一个示例。但这与传统的 OOP 类不一样吗?为什么程序员很少将类视为产品类型的示例?

(其实我倾向于觉得,有了继承,超类对于它的子类也是一种弱求和类型。)

java oop type-theory record algebraic-data-types

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