您需要一系列布尔值来跟踪ListView中每个项目的状态,
请尝试更改
if(urgent == true) {
newView.setBackgroundColor(Color.RED);
textView.setTextColor(Color.WHITE);
}
此
if(urgent[position]) {
newView.setBackgroundColor(Color.RED);
textView.setTextColor(Color.WHITE);
} else {
//Put here the default colors
newView.setBackgroundColor( );
textView.setTextColor( );
}
问题,也不需要执行,如果(boolean == true)
< <代码> if(boolean)就足够了
与往常一样,系统调用返回值在rax
中。参见是unix&amp; Linux系统致电I386和X86-64 。
请注意,sys_brk
与brk
/sbrk
posix functions的接口略有不同;请参阅 c库/内核差异brk(2 )
人页。具体而言, linux sys_brk
sets 程序折断; ARG和返回值都是指示。参见 issembly x86 brk()brk()该答案需要投票,因为这是该问题上唯一的好问题。
您问题的另一个有趣的部分是:
我在这种情况下不太了解RCX寄存器中的值
在这种情况下, “> syscall
/ 指令旨在允许内核恢复用户空间执行,但仍然很快。
syscall
不做任何负载或商店,它仅修改寄存器。它没有使用特殊寄存器保存返回地址,而只是使用常规整数寄存器。
rcx = rip
and rflags
在内核返回到您的用户空间代码之后,这不是一个巧合。此不是的唯一方法是,如果ptrace
系统调用修改了该过程已保存的rcx
或r11
值在内核内。 (ptrace
是系统调用GDB使用)。在这种情况下,Linux将使用IRET
而不是sysret
返回用户空间,因为较慢的通用案例iret
可以做到这一点。 (请参阅如果您在64位代码中使用32位INT 0x80 Linux ABI会发生什么?对于Linux的System-call输入点的某些演练。主要是从32位到32位的入口点 在64位过程中syscall
。
流程,不是 代码> syscall :
设置rcx = rip,r11 = rflags(因此,在执行
syscall
之前,内核甚至不可能看到这些regs的原始值)。masks
rflags
带有从配置寄存器(ia32_fmask
msr)的预配置掩码。这使内核可以禁用中断(如果)直到完成swapgs
和设置rsp
指向内核堆栈。即使cli
是入口点处的第一个指令,也会有一个脆弱性窗口。您还可以免费获得cld
通过掩盖df
SOREP MOVS
/STOS
即使用户空间也向上移动已经使用了std
。有趣的事实:AMD的第一个提议
syscall
/swapgs
设计没有掩盖rflags,而是他们在AMD64邮件列表上的内核开发人员的反馈(在2000年,第一个硅之前的几年)。跳到配置的
syscall
输入点(设置CS:RIP =ia32_lstar
)。我认为旧的cs
值在任何地方都没有保存。它无能为它的价值来自用户空间。
因此,syscall
的设计需要一个clobbers注册的系统通话ABI,这就是为什么值是它们的原因。
我假设面包
等是标识符。我不知道应该代表什么空白
。另外,我认为您的意思是使用=
而不是==
。无论如何,这似乎是一个使用元组的匹配
的好地方:
cols = col1, col2
match cols:
case (bread, col2):
if col2 > 1:
bread_alert = 'alert_bread'
...等等。组合警报就像将它们附加到空列表中一样简单。
尝试此解决方案
use Carbon\Carbon;
...
$current_month = Carbon::now()->format('m');
$current_year = Carbon::now()->format('Y');
DB::table('exercises')
->select('id', 'day')
->where('user_id', Auth::user()->id)
->whereMonth('day', $current_month)
->whereYear('day', $current_year)
->distinct()
->count();
如果您使用Intellij Idea并有此错误,请尝试使用此错误。
- 命令 + ,(打开首选项)
- 构建,执行,部署→构建工具→ gradle
- Gradle JVM →将其更改为适当的版本
大约一年后回答我的问题。这是我的解决方案,也是一个简单的解决方案。
我推荐了@Time推荐的想法。
- 首先创建环境,例如开发,分期,生产等,
- 创建变量,但分配给不同的环境
- 您可以设置具有相同名称的变量,但分配给了不同的环境。
使用时,您可以将以下代码添加到每个任务
staging_build:
stage: build
environment:
name: staging
script:
- echo ${AWS_ACCESS_KEY_ID}
only:
- staging
production_build:
stage: build
environment:
name: production
script:
- echo ${AWS_ACCESS_KEY_ID}
only:
- main
您收到错误消息吗?
还有AVG(人口)和GT; country_name ='Miami-Dade'是不正确的。
您需要一个城市,该城市的人口高于“ County_name”迈阿密戴德市的城市平均人口。如此人口&gt; AVG(从USCITY中选择country_name ='Miami-Dade')
query = """
SELECT DISTINCT city
FROM uscity
WHERE city != state_name
AND population > avg(select population from uscity where country_name = 'Miami-Dade')
AND city like '% %'
"""
它们称为类型提示
,它们启用了函数的参数和返回类型的注释。
该分组看起来应该在Session_ID_Current_user上,除了AVG Max(ED)以外的所有字段(ED)都存在,以查看是否有名称
SELECT t.session_id_current_user,
max(t.name), max(email)...
, AVG(t.spent_time)
FROM table t
where exists (select 1 from t t1 where t1.session_id_current_user = t.session_id_current_user and t1.name is not null)
group by t.session_id_current_user;
您可以使用 >:
df2 = df.filter(regex='(?i)austria') # (?i) makes the search case insensitive
示例:
df = pd.DataFrame(columns=['austria something', 'something austria',
'another austria', 'unrelated', 'Austria again'],
index=[0])
df.filter(regex='(?i)austria')
输出:
austria something something austria another austria Austria again
0 NaN NaN NaN NaN
我们将内存块复制到类型Void*。
的变量
小心。您正在复制到 void *
的内存。但是,是的,您正在复制内存的块。特别是,您不是分配值,因此您不可能转换值。
将它们转换为int类型后,我们将获得大量数字。
同样,您必须小心自己的语言。您没有将任何内容转换为int
类型。您将两个指针从void *
类型转换为int *
类型。您转换了指针。您做了不是转换尖头值!
如果您说过,
float fa = 2.11;
int ia = (int)fa;
您将将浮点数2.11转换为整数2。但这不是您所做的。
当您说
ffa = (int*)a;
自己是不是说:“嘿,编译器,那些代表浮点数为2.11的位时,我希望您将它们转换为我的整数。” (再次,为此,您需要int ia =(int)fa;
。)不,这行说的是“嘿,编译器,该指针a
a 指出一些代表浮点数的位,我想假装它们是指向整数的指针。”
换句话说,您没有更改尖头的位。而且,在某种程度上,您也没有更改指针:ffa
指向内存中a
do的位置完全相同的位置。但是,您非常重要的改变是对尖头的解释。 a
是通往内存中一个点的指针,我们希望有类型float
的值在内存中,我们期望有类型int
的值。
因此,如果您说
printf("%f\n", *a);
自己有指针,a
,它假定指向float
,然后使用*
来“将目录of“指针,因此您可以获取尖头值,并使用%f
进行打印,然后看到2.11
。
但是,当您说
printf("ffa = %d\n", *ffa);
自己有指针时,ffa
,它被认为指向int
,然后使用*
“取”内容of“指针,因此您可以获取指向值,并使用%D
进行打印,然后看到1074203197
。
您已经使用指针采取相同的位模式,坐在记忆中的同一位置,并以两种不同的方式解释它。
被解释为类型float
,位模式0x40070a3d
为2.11。
被解释为类型int
,位模式0x40070a3d
是1074203197。
这是通用指针的常见(且功能强大的),尽管现在您开始理解它,我必须离开您的注意事项。像我们在这里所做的那样,在内存中采用位模式并将其重新诠释为不同的类型,实际上比这个问题使其看起来更复杂。在实践中,有两种现实世界中的并发症会发挥作用, Alignment 和 严格的混叠 。在某个时候,您可能想了解有关这些信息的更多信息。
我假设this.loadgpsCoordinates();
返回可观察的(如果不是这样,则可以这样做)
private coordinatesSubject = new ReplaySubject<any>(1)
ngOnInit() {
this.loadGpsCoordinates().pipe(
tap( data => this.coordinatesSubject.next(data))
).subscribe()
}
private ngAfterViewInit(data) {
this.coordinatesSubject().subscribe( data => {
// data would be use below
var elem = document.getElementById('map');
if (elem != null) {
this.map = new google.maps.Map(elem, {
center: { lat: -32.3881373, lng: 55.4343223 },
zoom: 17,
disableDefaultUI: true
});
}
})
}
注意:我没有添加takeuntil(doctioned $)
但是您可以单独查找 - 删除组件时,它用于从服务中取消订阅
现在一切都很好。我只是从Android手机重置应用程序的数据。对不起,尽管我别无选择,因为我发现问题了几个小时。
使用 dataclasses 。另外,它允许您应用类型限制(又称“类型提示”)。
from dataclasses import dataclass
@dataclass
class Holder:
obj: your_type # Need any type? Use "obj: object" then.
def foo(ref: Holder):
ref.obj = do_something()
我同意人们的看法,在大多数情况下,您最好考虑不要使用它。
但是,当我们谈论 上下文 ,这是值得的知道这种方式。
您可以设计一个明确的上下文类。当原型设计时,我更喜欢数据类别,只是因为它很容易来回序列化。
您必须使用.iterrows()循环浏览数据框,然后您可以单独访问每行
.iterrows()是非常重要的资源。
You must loop through the DataFrame using .iterrows() then you can access each row individually
.iterrows() is very resource intensive though.
这是否是循环浏览熊猫中的数据帧并乘以2种不同条件的方法?