我通常使用read命令逐行读取shell脚本的输入文件.如果未在输入文件blah.txt中的最后一行末尾插入新行,则下面的示例代码会产生错误的结果.
#!/bin/sh
while read line
do
echo $line
done <blah.txt
Run Code Online (Sandbox Code Playgroud)
因此,如果输入文件读取类似于 -
One
Two
Three
Four
Run Code Online (Sandbox Code Playgroud)
我四点后没有回复,脚本无法读取最后一行,并打印出来
One
Two
Three
Run Code Online (Sandbox Code Playgroud)
现在,如果我在四个之后留下一个额外的空白行,比如,
One
Two
Three
Four
//blank line
Run Code Online (Sandbox Code Playgroud)
输出打印所有行,包括四行.但是,当我使用cat命令读取一行时,情况并非如此; 包括最后一行在内的所有行都打印出来,而不必在末尾添加额外的空白行.
有人知道为什么会这样吗?我创建的脚本主要由其他人运行,因此没有必要在每个输入文件的末尾添加额外的空行.
我一直试图解决这个问题; 如果你有任何解决方案我会很感激(当然,cat命令是一个,但我想知道阅读不起作用的原因).
我正试图在Android上制作一个Snake游戏,其中蛇用滑动手势移动.
我已经尝试了很多方法来完成这项工作,但它们似乎都不适合我.我没有实现一个视图 - 这会有问题吗?
这是我尝试基于之前的StackOverflow问题实现的示例 - Android:如何处理从右到左的滑动手势.
我按照指示创建了OnSwipeTouchListener.java.然而,我遇到了一些使用问题.
在GameScreen.java(这是所有触摸事件发生的地方)中,我将此作为示例添加 -
onSwipeTouchListener = new OnSwipeTouchListener() {
public void onSwipeTop() {
Toast.makeText(MyActivity.this, "top", Toast.LENGTH_SHORT).show();
}
public void onSwipeRight() {
Toast.makeText(MyActivity.this, "right", Toast.LENGTH_SHORT).show();
}
public void onSwipeLeft() {
Toast.makeText(MyActivity.this, "left", Toast.LENGTH_SHORT).show();
}
public void onSwipeBottom() {
Toast.makeText(MyActivity.this, "bottom", Toast.LENGTH_SHORT).show();
}
};
imageView.setOnTouchListener(onSwipeTouchListener);
Run Code Online (Sandbox Code Playgroud)
这会导致出现一堆错误(主要涉及imageView),并且都无法解析.
有没有人碰巧有一个替代的滑动实现特定于我的情况?
user-interface android gesture-recognition swipe android-view