有没有办法在java中返回一个新数组而不先将它分配给变量?这是一个例子:
public class Data {
private int a;
private int b;
private int c;
private int d;
public int[] getData() {
int[] data = { a, b, c, d };
return data;
}
}
Run Code Online (Sandbox Code Playgroud)
我想做这样的事,但不起作用:
public int[] getData() {
return {a, b, c, d};
}
Run Code Online (Sandbox Code Playgroud) 好的,我有问题.我必须使用它来获取程序execlp
的输出,并使输出直接转到文件.问题是,如果程序在tty中运行,程序只会输出某些信息(我猜它会调用isatty(3)
).到目前为止,这是我的代码
void main(){
int fd = open("file", O_WRONLY | O_CREAT | O_TRUNC, 0755);
close(1);
dup(fd);
execlp("program","program",NULL);
close(fd);
}
Run Code Online (Sandbox Code Playgroud)
我不想使用像script
(工作)等操作系统命令.
所以问题是,我怎么能"欺骗"程序认为它正在写入tty?
我有以下型号:
class AcademicRecord(models.Model):
record_id = models.PositiveIntegerField(unique=True, primary_key=True)
subjects = models.ManyToManyField(Subject,through='AcademicRecordSubject')
...
class AcademicRecordSubject(models.Model):
academic_record = models.ForeignKey('AcademicRecord')
subject = models.ForeignKey('Subject')
language_group = IntegerCharField(max_length=2)
...
class SubjectTime(models.Model):
time_id = models.CharField(max_length=128, unique=True, primary_key=True)
subject = models.ForeignKey(Subject)
language_group = IntegerCharField(max_length=2)
...
class Subject(models.Model):
subject_id = models.PositiveIntegerField(unique=True,primary_key=True)
...
Run Code Online (Sandbox Code Playgroud)
学术记录有科目列表,每个科目都有语言代码,科目时间有科目和语言代码。
对于给定的AcademicRecord
,我怎么能得到相匹配的主题始终与AcademicRecordSubjects
该AcademicRecord
有?
这是我的方法,但它会产生比需要更多的查询:
# record is the given AcademicRecord
times = []
for record_subject in record.academicrecordsubject_set.all():
matched_times = SubjectTime.objects.filter(subject=record_subject.subject)
current_times = matched_times.filter(language_group=record_subject.language_group)
times.append(current_times)
Run Code Online (Sandbox Code Playgroud)
我想使用 django ORM 而不是原始 SQL 进行查询
SubjectTime
语言组也必须与 …