shell脚本——函数(包含应用案例)

函数前言如何定义函数熟悉函数写法函数返回值函数传参 位置参数函数传参 数组变量应用案例综合案例前言其实shell的函数很简单 对于学过其他编程语言的同学来说 就是轻而易举什么是函数shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能在shell种定义函数可以使用代码模块化,便于复用代码函数必须先定义才可以使用如何定义函数方法一函数名(){ 函数体(一堆命令的集合,来实现某个
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

在Windows下批量修改文件后缀(ren命令-rename)

一.做法第一步,新建文本文档,输入命令ren,后面是要替换的格式第二步,将文本文件文件后缀.txt改为.bat二进制文件第三步,点击.bat文件执行就OK了。
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

Flink教程(15) Keyed State状态管理之ListState使用 ValueState实现

Keyed State状态管理之ListState使用案例一、ListState的方法二、代码案例1. 需求2. 主体3. 处理方法4. 运行结果一、ListState的方法get()方法获取值add(IN value),addAll(List values)方法更新值update(List values) 用新List 替换 原来的Listclear() 清空List,List还存在,但是没有元素二、代码案例1. 需求记录每个人的历史操作信息,例如输入1,login1,buy
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

Flink教程(16) Keyed State状态管理之ReducingState使用案例 求最大值

Keyed State状态管理之ReducingState使用案例一、ReducingState的方法二、ReducingState的描述器三、程序主体四、KeyedProcessFunction处理类一、ReducingState的方法ReducingState是和ReduceFunction配合使用get() 获取状态的值add(IN value)方法添加一个元素,触发reduceFunction计算一次二、ReducingState的描述器ReducingState的描述器和之前Va
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

Flink教程(17) Keyed State状态管理之AggregatingState使用案例 求平均值

Keyed State状态管理之AggregatingState使用案例 求平均值一、AggregatingState的方法二、AggregatingState描述器三、自定义的AggregateFunction类四、程序主体五、KeyedProcessFunction处理类一、AggregatingState的方法AggregatingState需要和AggregateFunction配合使用add()方法添加一个元素,触发AggregateFunction计算get()获取State的值
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

Elasticsearch教程(32) ES 聚合查询后过滤 Distinct Group By Having功能

一、之前写的关于ES聚合的博客Elasticsearch教程(3) ES聚合查询DSLElasticsearch教程(4) High Level REST Client API 查询 聚合 分组Elasticsearch教程(5) 指标聚合 SQL DSL JavaAPIElasticsearch教程(6) 桶聚合Query DSL-Terms AggregationElasticsearch教程(10) ES term terms prefix 搜索 聚合查询 详细总结Elasticsearc
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

Flink教程(18) Flink1.12.0 批流一体 setRuntimeMode(RuntimeExecutionMode.BATCH) 问题解决

一、问题在Flink1.12.0有个重要的功能,批流一体,就是可以用之前流处理的API处理批数据。只需要调用setRuntimeMode(RuntimeExecutionMode executionMode)。RuntimeExecutionMode 就是一个枚举,有流、批和自动。@PublicEvolvingpublic enum RuntimeExecutionMode { STREAMING, BATCH, AUTOMATIC; private Runtim
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

C头文件与C++头文件区别

##标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上C的前缀表示来自于C,例如cmath就是由math.h变来的##
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

C++中文件开头写的 using namespace std 有什么作用?

##C++的STL都是定义在std命名空间中的,using namespace语句的作用是提前声明要引用的命名空间,这样在引用命名空间中的名称是就不需要加命名空间前缀。例如,如果不用using namespace std;那么在引用cin的时候,就需要写成std::cin##...
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

char* 定义的字符串为什么修改不了?(char *最好还是写成 const char *)

###我们或许都知道char型数组与char* 都能够用来定义字符串,但可能不清楚char*定义字符串有着不一样的地方。用char* 来定义一个字符串,当我们试图对字符串的内容进行改动,即直接进行改动,或进行传参,在子函数中进行改动。都改动失败,而用char型数组定义的字符串进行改动操作则成功。●原因是什么:由于char型数组是一段连续的存储空间,所以内容是可以改变的而char *定义的字符串存储在字符常量区,是不可以修改的。我们知道char*用来定义一个指针变量时,指针变量是可以改变
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

说一说 new/delete&&malloc/free

###在C语言中,我们认识到了malloc函数与free函数,这两个函数是有关开辟动态内存的在之前的博客里,我详细的介绍了动态内存函数;https://blog.csdn.net/cfk17829572643/article/details/110183105而C++中,我们也认识到了new和delete,会发现,它俩与前面的两个函数有着一些相似的地方,但也有着一些不同。●首先 new/delete是C++的操作符,而malloc/free是C中的函数。●其次 new不但会分配内存,还会调
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

打印一个我们熟知的乘法口诀表!

一个很简单的打印!int main(){ int i, j; for (i = 1; i<=9; i++) //外循环改变乘数 { for (j = 1; j <= i; j++)//内循环从1开始相乘,直到i { printf("%d*%d=%2d ", i, j, i*j);//注意格式,使最终打印对齐 } printf("\n"); } printf("\nGood job! \n"); return 0;}...
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

浅谈杨辉三角(实现三角阵打印)与杨氏矩阵(实现杨氏矩阵查找)

●杨辉三角算是数学里面的概念.但程序题中也时常出现。什么是杨辉三角?每行数字左右对称,由1开始逐渐变大。每个数字等于上一行的左右两个数字之和即每个数等于它上方俩数之和。下面就是杨辉三角的代码和打印结果首先先初始化第一列的元素都是1,然后按照每个数等于它上方俩数之和的规律,依次计算得出每一行的数,就可得到杨辉三角。int main(){ int str[30][30] = {0}; int i, j; int n; printf("请输入一个数:"); scanf("%d
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

求数组的长度 && strlen求长度

char acX[] = “abcdefg”;char acY[] = {‘a’,’b’,’c’,’d’,’e’,’f’,’g’};A.数组acX和数组acY等价B.数组acX和数组acY的长度相同C.数组acX的长度大于数组acY的长度D.数组acX的长度小于数组acY的长度acX和acY都是字符数组,但是初始化表达式不同,acX和acY的区别如下:acX:数组中总共有8个元素,分别是:'a','b','c','d','e','f','g','\0'acY:数组中总共有7个元
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

求0~100000的所有水仙花数——思路分析+源代码

*思路:此题的关键在于只要知道判断一个数据是否为水仙花数的方式,问题就迎刃而解。假定给定一个数据data,具体检测方式如下:1. 求取data是几位数2. 获取data中每个位置上的数据,并对其进行立方求和3. 对data中每个位上的数据立方求和完成后,在检测其结果是否与data相等即可,相等:则为水仙花数否则:不是具体实现参考以下代码。*/int main(){ int i = 0; for(i=0; i<=999999; i++) { int count = 1;
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

oj题多组输入测试——实现多组字符串输入后进行逆序

*思路:该题比较简单,请参考代码*/void Reverse(char* str){ char* left = str; char* right = str + strlen(str)-1; while(left < right) { char temp = *left; *left = *right; *right = temp; ++left; --right; }}
分类: 其他 发布时间: 03-30 10:16 阅读次数: 0

浅谈rand和srand

srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值
分类: 其他 发布时间: 03-30 10:15 阅读次数: 0

【C语言】——猜数字游戏源代码+打印结果

void Menu(){ printf("*********************************\n"); printf("****** 1.plat 0.exit *****\n"); printf("*********************************\n");}void Game(){ int x; int num; x = rand() % 100; while (1) { printf("请输入一个数:"); scan
分类: 其他 发布时间: 03-30 10:15 阅读次数: 0

【C语言 】——前置++,后置++,逗号表达式综合使用

#include <stdio.h>int main(){ int a, b, c; a = 5; c = ++a; // ++a:加给a+1,结果为6,用加完之后的结果给c赋值,因此:a = 6 c = 6 b = ++c, c++, ++a, a++; // ++c:c为7 c++:c值不变 ++a:a的值为7,a++:a值不变,b取a的值:7 // 表达式结束时,c++和a++会给a和c分别加1,此时c:8,a:8,b:7 b += a+
分类: 其他 发布时间: 03-30 10:15 阅读次数: 0

PyQt5入门(十四)树控件QTreeWidget

马上更
分类: 其他 发布时间: 03-30 10:15 阅读次数: 0