小编der*_*erp的帖子

Bash:带变量的彩色输出

我有以下功能:

function pause #for prompted pause until ENTER
{


prompt="$3"
    echo -e -n "\E[36m$3" #color output text cyan
    echo -e -n '\E[0m' #ends colored output
    read -p "$*"  #read keys from user until ENTER.
    clear

}

pause "Press enter to continue..."
Run Code Online (Sandbox Code Playgroud)

但是,我的函数拒绝将青色应用于我传递给函数的字符串.

这里也提出类似的问题,但似乎我正在做的一切......

variables bash

16
推荐指数
3
解决办法
2万
查看次数

bash:一次从一个字符串中读取文本,带有空格

我很无聊,并决定使用bash编写一个基于文本的冒险脚本.基本上,它应该在某些情况下为打字机制作动画,以进行戏剧性的叙事.我可以在这样的文件中手动执行此操作:

sleep 0.1 
echo -n "h"
sleep 0.1 
echo -n "e"
sleep 0.1 
echo -n "l"
sleep 0.1 
echo -n "l"
sleep 0.1 
echo -n "o"
Run Code Online (Sandbox Code Playgroud)

你可以想象,这是非常乏味的.相反,我想一次从字符串(或文件)中提取一个字符,并将sleep命令应用于每个字符.

到目前为止,我有以下内容,从文件中读取.IFS =允许空格保留,但不允许任何其他类型的空格(例如换行符).

IFS=
while read -n1 achar
do
   echo $achar
done < aFile
Run Code Online (Sandbox Code Playgroud)

有没有办法可以用它来获取所有空格?作为一个额外的问题,你能告诉我如何将它应用于用户定义的脚本,所以我不必从单独的文件中读取?所以,例如,假设我有一个名为"hello"的字符串,只要我在bash终端运行我的文件,我就可以简单地将它传递给我的函数作为打字机动画.

任何帮助,将不胜感激.谢谢!

bash sleep char ifs

6
推荐指数
1
解决办法
5109
查看次数

C++中循环位移的问题

我试图在C++中实现循环位移.它有点工作,除了在某一点之后我得到了一堆零.

for (int n=0;n<12;n++) {
    unsigned char x=0x0f;
    x=((x<<n)|(x>>(8-n))); //chars are 8 bits
    cout<<hex<<"0x"<<(int)x<<endl;
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

0xf
0x1e
0x3c
0x78
0xf0
0xe1
0xc3
0x87
0xf
0x0
0x0
0x0
Run Code Online (Sandbox Code Playgroud)

如你所见,我开始得到0x0而不是预期的0x1e,0x3c等.

如果我将for循环扩展到迭代60次左右,则数字会正确返回(在一堆零之后).

我假设一个char占据了一个很大的空间,未使用数据的"空白"是零.我的理解有点受限,所以任何建议都将受到赞赏.有没有办法抛出那些零?

c++ bit-manipulation

3
推荐指数
1
解决办法
712
查看次数

C++:用字符串初始化char数组?

假设我有一个叫做垃圾的字符串.

无论垃圾是什么,我想制作一个char数组.每个元素都是字符串的一个字符.

所以,代码类似于:

const int arrSize = sizeof(garbage); //garbage is a string
char arr[arrSize] = {garbage};
Run Code Online (Sandbox Code Playgroud)

但是,这将给出一个错误"无法在初始化时将字符串转换为char".

这样做的正确方法是什么?我只是想把一个字符串给它做一个字符串并用它来制作一个数组.

c++ arrays string

1
推荐指数
2
解决办法
1万
查看次数

给定布尔值列表,比较并创建一个新列表

假设我有两个列表,其中一个是布尔值:

[True, False, True]
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

是否有一个函数来逐个索引地比较这些列表,并创建一个新的"真"值列表?

[1, 3]
Run Code Online (Sandbox Code Playgroud)

haskell

1
推荐指数
3
解决办法
556
查看次数

标签 统计

bash ×2

c++ ×2

arrays ×1

bit-manipulation ×1

char ×1

haskell ×1

ifs ×1

sleep ×1

string ×1

variables ×1