首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么编程里习惯使用 i、j、k 等作为循环变量?

早期教材中的示例都是以 i、k、j 作为循环变量,后来这样使用成为了一种习惯。 但这种习惯是如何形成的呢?... 1957 年诞生的 Fortran 编程中,有一个「I—N 规则」,以字母 I,J,K,L,M,N 六个字母开头的变量,如无另外说明均为整型变量,以其它字母开头的变量则为实型变量。...Fortran 诞生于 1957 年,比 C 语言早了 10 年,很难想象远古编程语言中,竟然就有了对变量类型的支持。...JS、Python 这样的脚本语言没有变量类型,并不是它们低级,而是它们的语言哲学里,没有类型更加简洁方便。...一般情况下,我们都会保持这种语言中哲学的纯粹,但有时候我发现我们开发者又很矛盾,例如 JS,它本来是弱类型的脚本语言,当我们享受它简洁方便的语言特性时,又搞了一个 TypeScript 出来,希望它也像

96820

如何使用CP SCP RSYNCLinux中排除特定目录?

介绍 对于任何系统管理员或一般Linux操作系统用户而言,服务器之间执行文件复制操作都是一项常见任务。将文件从一个系统复制到另一个系统时,由于某些特定原因,我们可能需要排除某些文件和目录被复制。...本文中,我们将演示如何排除特定的文件或目录,或者使用用于此目的的三种最常用和广泛使用的实用程序(即rsync,cp和scp)进行复制。...使用cp命令排除特定文件/目录的复制: 考虑以下情形,其中我的当前工作目录中有五个目录。...使用scp命令排除特定文件/目录被复制: scp中的数据排除机制与先前使用cp命令演示的类似。以下是一个示例。上面的命令从当前工作目录中复制了所有文件,除了名为file4的文件。...本文中,我们将讨论范围限于排除某些文件/目录被复制的功能。要使用rysnc命令复制文件或文件夹,请使用–exclude标志,如以下示例所示。

14.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

PHP中如何使用全局变量的方法详解

使用关键字“global”你就可以把全局数据导入到一个函数的局部范围内。如果你不明白“变量使用范围”,请你自己参考PHP手册上的相关说明。...开发的过程中,你可能会知道知道每一个全局变量,但大概一年之后,你可能会忘记其中至少一般的全局变量,这个时候你会为自己使用那么多全局变量而懊悔不已。 那么如果我们不使用全局变量,我们该使用什么呢?...使用函数参数 停止使用全局变量的一种方法就是简单的把变量作为函数的参数传递过去,如同下面所示: 代码如下: 如果你仅仅只需要传递一个全局变量,那么这是一种非常优秀甚至可以说是杰出的解决方案,但是如果你要传递很多个值...注册器类里面增加一个新的方法,如下所示: 代码如下: 这样它就可以作为一个单件来使用,比如: 代码如下: set ('db', $db);$registry>set ('settings', $settings...> 正如你看到的,现在我们不再依靠任何全局变量了,而且我们完全让这些函数远离了全局变量。 结论 本文中,我们演示了如何从根本上移除代码中的全局变量,而相应的用合适的函数和变量来替代。

7.2K100

结构变量作为方法的参数调用,方法内部使用的“坑”你遇到过吗?

很久没有写博了,今天一个同学问结构变量的问题,问结构到底是传递值还是传递引用。查过MSDN的都知道,结构默认是传递值的,因此方法内部,结构的值会被复制一份。...如果结构数组的元素象结构变量那样也是复制的,那么对于方法调用的内存占用问题,就得好好考虑下了。...) { this.X = x; this.Y = y; } } 定义2个方法,分别以传值和传引用的方式来调用结构变量...,让另外一个结构变量的值赋值给它,等于是复制这个结构变量的值。...往往有时候,我们为了敲代码方便,少写几个字,便定义一个临时变量去引用原来的变量,而这种行为,对于操作结构变量,无疑是一个最大的坑,这个坑,你遇到过吗?

2.5K100

急速 debug 实战一(浏览器-基础篇)

使用断点,无需了解代码结构即可暂停相关代码。 console.log() 语句中,您需要明确指定要检查的每个值。 使用断点,DevTools 会在暂停时及时显示所有变量值。... Console 中,输入 parseInt(addend1)+parseInt(addend2)。 此语句有效,因为您会在特定代码行暂停,其中 addend1 和 addend2 范围内。...事件侦听器 触发 click 等事件后运行的代码中。 异常 引发已捕获或未捕获异常的代码行中。 函数 任何时候调用特定函数时。 代码行断点 知道需要调查的确切代码区域时,可以使用代码行断点。...勾选这些类别之一以触发该类别的任何事件时暂停,或者展开类别并勾选特定事件。 ? 异常断点 如果想要在引发已捕获或未捕获异常的代码行暂停,可以使用异常断点。 点击 Sources 标签。...如果是从 DevTools 控制台中调用 debug(),则很难确保目标函数范围内。 下面介绍一个策略: 函数范围内时设置代码行断点。 触发此断点。

3.3K10

编程语言「考古」:曾经影响一代人的BASIC,原来还有前身

以 FORTRAN 为例, FORTRAN 中,变量需要用特定的数据类型来声明,而且变量声明需要在程序的特定位置进行。相比之下,BASIC 不使用显式类型,任何变量都可以保存任何你想要的东西。...这些行号使得 DOPE 成为一门成熟的编程语言。饱受诟病的 GOTO 语句存在于这一早期语言中,只是用了另一个名字。GOTO 告诉 BASIC 将执行跳转到特定行号。...条件语句 DOPE 中的工作方式与此类似。 唯一的例外是循环。BASIC 中最让我感到奇怪的是它如何处理 FOR 循环。一般来说,循环是你一个程序中应对重复操作的方式。...然而,DOPE 循环也有缺点。这也是我使用 DOPE 的过程中遇到的瓶颈。Kemeny 说得对,这门语言太简单了,循环就是一个完美的例子。与 DOPE 打交道的过程中,循环一直是我的眼中钉。...解释器方面,这意味着你需要额外的代码。按块而不是按行号执行代码意味着处理循环的方式必须与该语言中的其他操作稍有不同。连倒计时这种简单的东西都需要额外的代码才能实现。

62720

Excel应用实践05:分页单独打印Excel表中指定行的数据

现在的问题是,我只想打印其中的一行,或者从第m行到第n行的数据,这如何实现呢? 示例数据工作表、打印样式和要打印的表格模板工作表分别如下图1、图2和图3所示。...图3:表格模板工作表 使用输入框打印指定行数据 如果要打印指定的数据行,可以简单地使用Application对象的InputBox方法,用来让用户输入要打印的行号。...用户窗体名为urfNum,两个文本框 txtStartRow和txtEndRow中分别输入开始行和结束行的行号,单击名为cmdOK的确定按钮来打印。 ?...Dim wksTable As Worksheet '数据记录工作表中最后一行变量 Dim lngLastRow As Long '循环变量 Dim i As...打印 wksTable.PrintOut Next i '卸载用户窗体 Unload urfNum End Sub 运行代码后,将出现如下图7所示的输入界面,可以文本框中依次输入要打印的起始行行号和结束行行号

1.4K40

上古神器 awk 笔记

awk是按行处理文件,内部有一个隐藏的循环,即默认下逐行读取文件并运行程序 使用单引号原因:双引号中的$会被 shell 解析成 shell 变量引用,于是会进行 shell 变量替换。...为了表示awk程序使用变量,所以尽可能使用单引号 awk 程序中的 {} 表示代码块 awk '{print $0}' a.txt awk '{print $0}{print $0; print $0...可通过修改预定义变量RS来改变每次读取的记录模式,RS变量表示输入记录分隔符(Record Separator),默认值为\n RS一般设置 BEGIN 代码块中,因为需要在读取文件前确定好分隔符 注...:RS变量作为输入记录分割符,所读取的每条记录不包含RS变量值 RS 为单个字符, 则直接用该字符来分割记录 RS 为多个字符,则将其作为正则表达式,只要匹配上正则表达式都用来分割记录 设置预定义变量IGNORECASE...当RS为正则表达式时,RT`为正则匹配的记录分隔符 行号 awk读取每条记录后,将其赋值给$0和设置RT外,还会设置NR和FNR这两个预定义变量 NR: 所有文件的行号计数器 FNR: 各个文件的行号计数器

1.7K10

VBA程序控制结构示例-九九乘法表

比如表示第B列第5行的单元格,为cells(5,2),数字方便使用变量作为参数。而之前提过的单元格range属性,则是常规的range("b5")来表示。...那么下面我们就分步骤来看下如何实现九九乘法表? 1、双循环嵌套 首先分析九九乘法表,实质是一组1至9的数字与另一组1至9的数字,分别两两相乘,并得到相乘的结果。...2、判断结构嵌套 上一步利用双循环嵌套,实现了1-9内的数值两两相乘,最后的表达式也有了雏形,但是得到的表达式中有重复相乘的情况。比如i=1、j=9时,结果是1X9=9。...据此就可以设定当i>=j为条件,第二个for循环中嵌套if...then语句,(通常书写时要缩进)符合i>=j时才立即窗口中显示。...3、单元格中显示结果 经过上面两步后,已经获得需要的表达式,现在需要在单元格中显示,就利用单元格cells属性,使用i和j两个变量值分别作为行号和列号的参数,即 Cells(i, j) = i & "X

1.2K10

【Linux】开始使用gdb吧!

2 开始使用 首先进入gdb直接使用:gdb 文件名 接下来我直接给出 gdb 的 所有功能命令(注意简写形式,会经常使用): list /l 行号:显示指定行号附近的源代码,每次显示10行,从当前光标位置向下滚动...相当于 F11 break(b) 行号指定的行号设置断点。相当于 F9 break 函数名:指定函数的开头设置断点。 info break:显示所有断点的信息。...ignore:忽略特定的断点。例如,ignore 1 main 会让断点1主函数上失效 info(或i) breakpoints:显示当前设置的所有断点。...我们直接就跳出了正在进行的while循环,来到14行了。...gdb_test() 函数 print gdb_test(a):将以变量 a 作为参数调用 gdb_test() 函数 watch 表达式:设置一个监视点,一旦被监视的“表达式”的值改变,gdb将强行终止正在被调试的程序

32510

Linux基础——正则表达式

该模式描述查找文字主体时待匹配的一个或多个字符串。 正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。...将/etc/passwd的内容显示并找印行号,同时将 2~5 删除 ? 附:nl 命令 linux 系统中用来计算文件中行号。....awk 语言的最基本功能是文件或字符串中基于指定规则来分解抽取信息,也可以基于指定的规则来输出数据。其实他更像一门编程语言,他可以自定义变量,有条件语句,有循环,有数组,有正则,有函数等。...实际动作大括号{ }内指明。动作大多数用来打印,但是还有些更长的代码诸如i f和循环语句及循环退出结构。如果不指明采取动作,awk将打印出所有浏览出来的记录。...这里使用了一个for循环来依次检查每一个日志文件,使用du命令来获取日志文件长度。

4.3K30

awk命令详解

awk20世纪70年代诞生与贝尔实验室。现在使用的版本是1988年发布的Gnu awk。...文件名 2.2.内置变量 awk语法由一系列条件和动作组成,花括号内可以有多个动作,多个动作之间用分号分隔,多个条件和动作之间可以有若干空格,也可以没有。...2.6.内置变量RS、OFS、ORS RS 内置变量RS保存的是输入数据的行分隔符,默认为\n,可以指定其它字符作为行分隔符 awk -v RS="."...NR,$0}' /tmp/hosts #每行前面加上行号和点 ORS 保存的是输出记录的分隔符 awk -v ORS="-" '{print $1}' /tmp/hosts 2.7.print指令...,作为字符处理时未定义的变量默认值为空,作为数字处理时未定义的变量默认值为0 awk 'BEGIN{print "["x"]","["y"]"}' #x和y默认为空 awk 'BEGIN{print

2.2K30

如何使用Linux文本操作命令ed进行提权nov5详解

所有ed命令都在行或行范围内执行操作;例如,“d”命令删除行;“m”命令移动行,“t”命令复制行等等。现在,我们要做的就是利用这些“ed”命令,来提升我们Linux系统上的用户权限。...使用ed编辑文件:如果现在你想要再次编辑同一文件,你可以通过将文件名作为参数传递给ed命令,然后按照以上相同过程操作即可。...那么如果我们想要更改特定行,该如何使用ed来实现该操作呢?...在下图中,我为大家展示了如何使用’p’和’n’参数打印任何的特定行 当我们输入’p’(小写) 打印当前行,如输入 ‘,p’(不含引号) 则显示全文;’n’用于显示最后一行的行号和内容,输入数字来选择要编辑行...首先,我们ed后使用“-p%”选项,这将进一步的提示你搜索任务。我们只需%后跟搜索关键字,按Enter键即可。

1.5K42

Python办公自动化|批量提取Excel数据

筛选出符合条件的行号就可以提取行并且放入新的Excel中了,因此需要先创建新的工作簿,现在创建新的工作簿写入符合条件的行,思路是根据行号获取到指定行后,遍历所有单元格的值组装成一个列表,用sheet.append...glob # 1000份数据所在的文件夹目录 path = 'C:/Users/xxxxxx' for file in glob.glob(path + '/*'): pass 如果需要遍历特定类型的文件可以限定后缀...的路径变成循环出的每一个xlsx文件的绝对路径。...当然,还需要想清楚有些代码不能在循环体里重复被执行,如创建新表和给新表添加表头,创建新表放在循环体外就可以,添加表头可以用一个单独的变量来判断这个操作是否已经被执行。...其实如果你仔细思考会发现这个需求使用pandas会以更简洁的代码实现,但是由于我们之后的Python办公自动化案例中会频繁使用openpyxl,并且操作Excel时有更多的功能,因此之后我们将主要讲解如何使用这个

3.3K20

linux:sed修改xml中的值示例

因为xml中有多个start字段,所以肯定不能简单的使用sed全局替换来实现。 基本的思路就是要在指定范围内进行搜索替换。...首先确定搜索范围: 通过xml中查找server的起始标记和结束标记来确定搜索起始行号和结束行号 然后搜索范围内进行正则表达式匹配替换 实现如下: # 查找起始标志...*()/\1false\2/1" defaultConfig.xml 封装为方便调用的函数 如果经常用到修改xml参数的情况,显然封装成一个方便调用的函数会更方便使用 如下实现了一个...return 255 ; fi #echo $tag tag_begin=$tag_begin tag_end=$tag_end # 根据第一个顶级节点给定的行号范围循环查找所有其他子节点...# 以后的每次循环都在上次找到的行号范围内查找,会一步步缩小范围 for (( i = 1 ; i < $size ; i++ ))

3.2K10
领券