我正在研究一些我将数据存储在文件中的东西.但每次我运行脚本时,它都会附加到上一个文件中.
我想要有关如何删除文件的帮助,如果它已经存在.
我正在尝试学习Swift语言,我在Youtube上学习了很多教程.由于大多数都是针对iOS的,我想制作这个版本的OSX版本:https://www.youtube.com/watch? v = 8PrVHrs10to(SideScroller游戏)
我小心翼翼地跟着它,但是当我必须更新玩家位置时,我被困在大约22分钟的视频中.我的第一个问题是获得按键.我来自C#语言,所以我想找到类似的东西
If(Keyboard.GetState().IsKeyDown(Keys.Right))
man.Position.x += 5 //player position
Run Code Online (Sandbox Code Playgroud)
但这不存在,所以我想出了这个:
override func keyDown(theEvent: NSEvent!)
{
updateManPosition(theEvent)
}
func updateManPosition(theEvent:NSEvent)
{
if theEvent.keyCode == 123
{
man.position.x -= 2
}
else if theEvent.keyCode == 124
{
man.position.x += 2
}
else if theEvent.keyCode == 126
{
println("jump")
}
}
Run Code Online (Sandbox Code Playgroud)
我通过使用找到了相应的值(123/124/126),println(theEvent.keyCode)但如果我必须识别很多键,它就没有用.无论如何,它适用于这个游戏,玩家的位置发生变化.但我有另一个探测器,即keyDown每次更新时都不会调用该函数(因此每秒60次),这会阻止玩家顺利移动.
那么,这是我的问题:如何在每次更新时调用keyDown,并且有没有人有更简洁的方法来获取按下的键?
谢谢
我总是问自己这个问题,为什么在C中的printf()被设计为接受任意数量的参数,是不是表示重载?如果是,纯结构化语言如何包含面向对象的语言概念,如方法重载?
我知道这个问题已经被问了很多,但问题仍然是我:
我有一个 64 位 ELF 可执行文件,我试图在我的 Kali VM 上运行它,但它一直告诉我该文件不存在。
这个问题大部分时候的解决办法是架构不同,但是我的kali是x86-64:
$ uname -m
x86_64
Run Code Online (Sandbox Code Playgroud)
就像我试图执行的文件(名为“8”)一样:
file 8
8: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, BuildID[sha1]=0xf3b096c69086131b091d1805894fde4fae0537a0, stripped
Run Code Online (Sandbox Code Playgroud)
编辑:错误:
$ chmod +x 8
$ ./8
bash: ./8: No such file or directory
Run Code Online (Sandbox Code Playgroud)
编辑2:lld:
linux-vdso.so.1 => (0x00007fffe37fe000)
libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f680fac8000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f680f73c000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f680f343000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f680f13f000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f680ef28000)
/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f680fd49000)
Run Code Online (Sandbox Code Playgroud)
我尝试安装 32 …
这个简单的代码令我感到困惑 - 我故意打印出比传递给printf更多的整数.我预计会出错.我得到了奇怪的数字 - 它们来自哪里?
#include <stdio.h>
/* learn arrays */
void main(){
int pout;
pout = 6;
printf("%i %i %i\n%i %i %i\n%i %i %i\n", pout);
}
Run Code Online (Sandbox Code Playgroud)
输出的一个例子:
6 608728840 0
-885621664 -885543392 608728816
0 0 -889304251
Run Code Online (Sandbox Code Playgroud)
单个数字不会随着重复运行而改变,但是大整数会改变.