这基本上是我对Java泛型类型的第一次触摸,我无法弄清楚下面这段代码有什么问题.
我有一个Helper带有静态函数inRangeusng泛型类型的辅助类,它应该返回一个输入列表中的对象列表,这些列表range位于索引周围的某个对象周围index(我还没有测试过,如果它正常工作,这里不是问题,或者不):
public class Helper {
public static <T> List<T> inRange(List<T> list, int index, int range) {
List<T> res = new ArrayList<T>();
int N = list.size();
assert(index < N);
if (N == 0)
return res;
int i, j;
/* right range */
i = (index + 1) % N;
j = 0;
while (i != index && j < range) {
res.add(list.get(i));
i = (i + 1) % N;
j++;
}
/* …Run Code Online (Sandbox Code Playgroud) 如何通过一些简单的自定义方法对 Django admin 中的列进行排序?
(我得到的所有答案都是通过使用,annotate但我不知道如何使用它)。
假设模型
class Shots(models.Model):
hits = models.PositiveIntegerField()
all = models.PositiveIntegerField()
Run Code Online (Sandbox Code Playgroud)
在管理站点中,我想按hits to all比例排序:
class ShotAdmin(admin.ModelAdmin):
list_display = ['ratio']
def ratio(self, obj):
return obj.hits / obj.all * 100
Run Code Online (Sandbox Code Playgroud)
我知道这ratio不是 DB 中的一个字段,因此简单的ratio.admin_order_field = 'ratio'行不通,我需要以某种方式将它附加为一个字段,但我不知道如何。
我正在尝试使用以下内容构建一个项目(使用 CLion)CMakeLists.txt:
cmake_minimum_required(VERSION 3.6)
project(alfa_1)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c11 -Wall -Wextra -lm")
set(SOURCE_FILES
src/foo.h
src/foo.c
src/bar.h
src/bar.c
src/parser.h
src/parser.c)
add_executable(alfa_1 ${SOURCE_FILES})
Run Code Online (Sandbox Code Playgroud)
在foo.c我使用pow()函数 from math.h,我包含在foo.h. 并且显然foo.h包含在foo.c. 在bar.c我有main那是什么都不做。现在,像这样的标准命令行编译
gcc -o bar bar.c bar.h foo.h foo.c -lm
Run Code Online (Sandbox Code Playgroud)
工作正常,但构建项目会产生对pow. 可以看到我-lm在CmakeLists.txt文件中包含了标志,所以我不明白为什么这个链接部分在这里不起作用
我想知道为什么这不在 GNU Smalltalk 中终止:
s := Set new. s add: s
理论上,s应该只是一个包含空集的集合。但是执行它只会永远循环,炸毁堆。
有趣的是,
((s := Set with: 4 with: 5 with: 6) add: s) size.终止并计算为 4。
cmake ×1
collections ×1
django ×1
django-admin ×1
generics ×1
java ×1
python ×1
smalltalk ×1
sorting ×1