你有没有好奇过,为什么 python 中没有 switch 语句?有的兄弟,有的 python 三点一零级以上版本正式引入了 match case 结构,它不仅对标其他语言的 switch case, 还凭借模式匹配能力变得更强大、更灵活。不同于传统 switch case 仅支持简单的直比对, match case 可以 实现复杂条件判断。结构匹配是用场景远超基础分支选择,它的语法逻辑非常直观。 match 关键字后跟的是要匹配的表达式 case 关键字后面跟着的是具体的模式,当表达式的直与某个模式匹配时,相应的代码块会被执行。如果没有任何模式匹配,就会执行 case 下划线分支。 我们通过一个简洁的案例来感受一下。定义一个接收时间整数的函数,根据不同时段输出问候语,通过 match case 能轻松做到接收不同的时间,输出不同的结果。 尽管 matchcase 功能强大,但在 python 开发中,传统的方式仍然是处理条件分支的主流。但综合来看,选择使用 ifhells 还是 matchcase 取决于具体的应用场景和代码风格偏好。在处理简单或限性的条件分支时, ifhells 更简洁易懂,是稳妥之选。而在需要模式匹配或处理复杂数据结构的情况下, matchcase 则展现出其独特的价值。
粉丝1.1万获赞30.0万

c 语言的 switch 语句讲解,刚入行的同学一定要收藏好!先看一下这段代码,这里用了大量的 fs, 是不是觉得很烦?我用 switch 同样能实现刚刚的功能,这样看代码是不是更简洁一些?没错, switch 就是用来简化大量 fs 语句的,刚学习的同学可以在这里暂停截个图,我们继续来看这段代码。第三行定义了一个变量 dat, 并复制为数字六代码执行到第四行,我们把 dat 写在所以后面的括号里面了,接下来他就会去拿着 dat 的值去在下面每个 case 的后面的数字去匹配, case 后面只能是整形字符形美矩形的常亮。然后程序一直会找到第十二行, 十二行代码也并没有 break 这个退出语句。这里说一下 case 后面如果没有 break, 他就会继续执行下面的语句,所以他继续执行了十三 十四行代码,然后执行到十五行的时候就退出了这个 switch, 所以这里就只是输出了第十四行的打印结果。如果你不理解, 不妨把这段代码敲一遍,然后修改第三行 get 的值,看看会有怎么样的结果。这里说一下,如果你输入的值在第五行到第二十五行的 case 后面的值都没有, 那么就会帮你执行 default 后面的语句。 default 不是必须要写的,但是建议加上作为程序默认的一个操作。好了,今天视频就到这,别忘记点个关注。

怎么优雅的干掉所谓成语句呢?今天我们从面相对象的角度来重构他为什么要干掉所谓成语句?首先来看这个例子, 车辆的驾驶系统刚开始的时候只有 star 和 stop 两个命令,刚开始我们用思维持语句写是 ok 的, 随着不断增加的需求,车辆需要引入更多的命令,有左转、右转、倒车等等。如果这些全部加在死维持语句里面,这个函数可读性变得越来越差, 而且测试起来很困难。每增加一个命令都要修改这个函数,它违背了设计原则中的 开臂原则。今天我们就用多肽来规避不断膨胀的死维持语句。对变化的部分抽象,一个航班的抽象类有一个 eq 的 抽象的方法,其他的 commont 的分别继承这个 commom 的抽象类实现这个方法。 这样写是不是清晰易懂?即使未来还需要增加新的命令,扩展相应的此类就可以了,而且不会影响原来的代码。

此语言 switch 你会了吗?我们先看看这段代码。首先 switch 语句也叫开关语句,主要目的是为了减少 if 语句的使用,简而言之,就是让多个 if 语句在一个语句中体现。什么意思呢?以上上面代码为例, swift 可以看成 if, 但是不同于 if 语句的是会执行哪个 print? 要看 switch 后面小括号中 i 的值, i 的值为多少,就对应下面 case 后面的值执行对应的 print 语句。 比如上面爱的值为四,那么执行的就是 ks 四这个语句,但是输出的结果把 ks 五, ks 六, ks 七下面的语句都执行了,小伙伴们知道为啥吗? 因为所以是要配合 break 语句来使用,比如说在 case 四后面加个 break, 那么下面的 case 五, case 六, case 七就不会执行了。总而言之就是 switch pay 和 case 和 break 语句来使用,执行哪个 case 语句,根据 switch 后面爱的值和 case 后面的值对应,小伙伴们都学会了吗?

彻底的讲清楚为什么 word 当中 hox 不 能出现在 f 语句中。先看这个代码,如果你这么写代码 肯定是不对的,也就说这个 hox 定义出现在 f 语句当中了,正常来说的话,我们应该这么去写,就是我们在顶层使用 hox, 为什么呢?就是我们的业务场景当中啊,就是像我们的 app, 它本质上就是一个函数,包括我们的这些函数,它就是一个函数,也就是我们这些函数在运行之后 就类似这样的,比如这个函数在运行之后他内部的变量,这是我们的局部变量,并以后他会被垃圾回收机制回收的。所以说在软的内部, 他为了实现这样变量的持久化,放到处理到全区,就类似于这个代码。看一下 就是我要持久化,这里面的变量,我必须要放到全区,比如说在这个地方我定了个全区的状态,这也是全区的存储。 你说在这里面这个函数内部就是 u 指令的,他本身一个函数嘛?他在函数内部,他执行的时候,这么看这个引带子,他其实是一个局部变量,如果我要他存入他的状态,所以说我把它放到全区了。比如说整个函数在运行的时候, 他要取我们这里面的值的时候,他其实是从全区读取的,这样的话还能保证就是整整个状态的持续化吗? 这个是简易的 usb 的 内部实现原理,从上往下运行,这是它整个的一个背景。 red 里面的后壳尺的它状态,它需要存储的,它的这个存储,它其实是用了一个链表,这地方是用这个数组模拟的, 对吧? red 再调用像这样的 good 函数,比如 state effect, i f 等等,也就是所有的内容,它没有特定的 key, 它是按照类似于数组里面对应的缩影来存储的,比如说它会存在所谓的 f 波节点上, 就类似这样的,他会依照这个数值里面引导式他来调用,采用链表这种存储,就每个后置对象,他是通过 nice 的 指征来移的,也就是类似这样的一个结果。原来我定了三个 一二三,那么在软件内部后置链表他是怎么存的呢?一个数值,他这个 k 是 引带,所以这个第一个 一般就是零, nice 就是 一对吧,这个 nice 就是 二零一样嘛,这是一个类似于数,所以说我们在条件语句当中啊, 这个 write 里面 host 它必须按照顺序的读取,而且是从上往下的,这样去出去,如果你放在 f 语句当中,有可能会导致顺序调用错乱, 如果它要放到 f 当中,那怎么办呢?我们可以以这种方式去做对象的方式,带 k 的 方式,当前的方案列表它是这样顺序依赖的,不依照顺序,那么我们以这种 k value 的 形式, 它可以去这么去做。这整个 red 十三克,从零到一, red 十, red 十八十九,从基础语法到原码,再到大厂里面真实项目,从零到一手把它带进契代码, 整个的底层代码体系,包括企业的项目实战,还有性能优化怎么做,还有我们整个的部署, c a c d 流程带你手把手上线,包括简历里面我们怎么包装这个项目, 手把手携带码,如果 read 你 是零基础也能看懂,不是零零基础 ok, 也能看懂里面讲的 read 原理编码,还有企业级的项目实战,手把手带你携带码,还有上线需要的话可以去看一下。

大家好,今天我们看例四点七,用 switch 语句处理菜单命令。 这个程序呢,就是从键盘输入一个字符,嗯,比如说输入 a, 我调用一个程序,输入 b, 调用另外一个程序, 那么类似于呢,我们在菜单上选择一个功能键,那选择打开文件或者关闭文件,或者啊,其他的操作都可以啊,类似于这种操作。 我们看一下程序的写法。 首先在函数的第一句话呢,他写了 声明了两个函数,函数一和函数二,那么他没有返回值, 定义了两个参数 整形。函数二呢,有两个参数是整形,然后呢,定义了一个 ch 的值,这个 ch 的值应该是我们从键盘输入的一个字符,所以他用字符形。 呃,在主函数里面定义了 a 和 b 的值, a 是十五, b 是二十三,分别是整形。然后用 get tire 一句,从键盘输入一个字符, 我们根据输入的字符来判断我们要做什么。如果我们输入的是 a, 小矮或者大矮,那么他做函数一,用 ab 来调用, 执行完结束是类似语句 break, 如果输入的是 b, 那么执行程序二,然后呢,执行完结束这个 sv 词语句 break, 如果输入的不是 a 也不是 b, 那么铺的菜盖是一个转移字符, 指的是响铃,也就是在主板的有一个莫名气,他响是低的一声,发出一声响,提示警告。 那么我们看调用程序一和程序二,他分别做了什么?程序一,把 ab 的值付给了 x 一和 x, y, x 和 y 啊,付给了 x 和 y, 然后呢,这里面的 x, y 相当于 a 和 b 的值,用形式参数和实际参数带过来的,那么打印 x 加 y 的值是 x 加 y 的值,也相当于是 a 加 b 的值,那么他计算的是加法运算。那么我们看第二个函数,他同样把 a b 的值带给了 x 和 y, 然后呢,打印的是 x 和 y 的 g, 也相当于计算的是乘法运算。 这样的话,我们就通过键盘在主函数里面输入 a 的 a, 大 a 或者小 a 来完成了对 a 加 b 的直达人输出。如果输入大 b 或者小 b 的话,那么它完成了 a 乘 b 的输出,这样呢,通过输入不入不同的字母来达到了调用不同的子函数,我们执行一下这个程序,输入 a 答音加 输入大臂,打印成 输入其他的字符,那么他应该有一声低的响声,我们没听到哈,正常的应该是响的, 这是我们看的用 sway 式语句来完成了一个不同的分支, 做了一个不同的子函数,完成了啊,类似于处理菜单而命令的这种写法。

好,那我们紧接着下来再给大家讲第三个小的点,说 three 句句里面的 default 字句,那 default 字句 对方的是什么?怎么回事呢?说在碎词语句中啊,我们经常可能遇到一种情况,比如说碎字后面的表达式的值无法匹配代码中的 kiss 语句,这个时候呢啊,要不就不做处理,要不就得在所以词语句中加入对方的子句来处理, 什么意思呢?大家注意,比方说刚刚这个逻辑里边,你让用户呢,这个地方啊,这个地方是不是输入一个值, 那这个用户呢,可能输入一二三四五六七这些值,当然他有没有可能输入八呢?有没有可能输入九呢?有没有可能输入一百呢?我觉得都有可能,反正你又没有提示让他输入什么值,对不对?所以他输入任何值的可能性都有。 而如果你输的是一二三四五六七里边的任何一个数字啊,这儿有所谓的 case 可以匹配,但如果你输入的如果是八呀,九啊,十啊,那这些 case 就不能匹配了,那怎么办呢?当然有的人说,老师,在这个地方,如果你给我输入上一个什么,比如说,哎呀,比如说你刚刚说的什么的一百, 我们这没有 kiss 语句匹配的时候,我们就不不匹配了呗,对吧?哎,你看他什么事没有发生,但如果说我们这最好给人提示一下,比如说他输了一个不是一到七的数字的话,那这个地方好像输的是一个错误的值,我们最好给人提一个提示一下,那怎么办呢?这个时候我们就需要 diffus 去了。 default 子句是用来处理什么呢啊?处理那些默认选项的,就是所有的 kiss 都不能匹配的时候,他就会走 default 字句,所以我们说 sage 后面的表达是结果,如果不是 y 六一也不是 value 二,那就会执行 defung 的字句 打 default 字语。好了,我们来这个地方呢,试一试啊,假设我们现在想去处理一下的话,那我们这儿就加上一个 default a o, l t, 对吧? default, 然后呢?冒号儿,假设输的不是一到七的数字,我就提示一下,说你输入错了,重新输入,对吧?或者说输入错误 啊,输入错误,我们这儿做一个小小的提示,这样别人就知道哪里有问题了,对吧?那当然 defund 子句后面呢,我们也给加尔也加尔 break。 朋友们,此时此刻来看,程序这地方易走 啊,成语这地方一走,他会不会哎,加二 d 放子句会不会影响我们正常的情况呢?是不会的啊,大家注意,比如说我们还是输入六,你看休息日正常结束了, 然后呢,这个地方呢?如果你代码再走起来的时候,万一有一个人呢,输,输入了一个八 a, 大家看,此时此刻他就告诉你输入错误啊,当然如果你呢,这个地方输入的是一百,也是一样的效, 效果啊,也是一样的效果,你看他即使你输入送,所以在这个地方呢,我希望大家能够理解一个点,就是当我们所有的 case 都不不能匹配的时候,如果你还需要处理这种情况,你就可以加入 default 选项, default 是所有 case 不能匹配的时候才走 default 啊,才做 default 对吧? default 呢,里边可以加入相应的内容,但是最后呢,也可以加入 break 啊,也可以加入 break, 根据你的实际需求呢来确定 啊,这就是我们所谓的 default 子句的一个作用啊,当然你没有发现我们这个 default 子句可以加,也可以不加。 那你需要的时候加上,不需要的时候也可以不写啊,希望大家注意啊。这是我们讲的第三个小的点啊,就四位数语句里边 default 选项啊,它的一个指定。


你是不是也遇到过 f 十二打不开开发者面板的情况? ctrl shift 加 i 打开一看,结果是无限。第八个,今天一个视频教你如何解决这种问题。叠加声明,本视频仅做知识技能分享,不存在任何攻击引导行为,仅供正规教学,请勿采取任何非法行为。 这个视频我们来讲一下无线 bug 的 解决思路。那么什么是无线 bug 呢?它又被称为无线调试器以及死循环调试,是一种非常常见的前端反爬技术。简单来说,它的核心就是强制的去进入调试模式并且卡住,从而去阻止开发者查看源代码或者去进行爬虫分析。那 你说都搞爬虫了,看不到源代码,又看不到数据包,怎么去请求数据包?怎么去得到数据,是吧?那么它到底是怎么去工作的? 它是去利用了浏览器开发者工具的一个特性,当代码执行到了 debug 语句的时候,如果说他发现你这个开发者工具是打开的,他就会暂停执行,在那个地方去断住。接下来我们来看一下 debug 的 常见形式。先来看这个单断点的形式,把这个代码复制放到拍摄当中来, 那么这里可以去给它输出一个 hello world 吧, console hello, 好, 这个因为咱们先给它注视一下来右键去运行这样的一个代码,它并不会有任何的断点断住,这是因为我们并没有去进入到调试模式当中,需要去右键选择 debug 去调试这样的一个文件,点击之后断住了。咱们这个地方是一个单断点, 可以通过执行下一步去跳过这个断点,它就输出了这样的一个 hello world, 那 么这个就相当于是一个比较简单的断点了,你只需要去给它执行下一步,它就可以去跳过当前的这个断点, evo 它也是相同的,打开注册之后,我们这里再把这个 coslo 给它拿过来,再来去右键重新去调试一下。 首先第一个地方它也会去断住,我们去给它执行输出了一个 hello world, 它是在这里去输出的,再去进入到了 evo 它的一个断 断点当中,它这里是开了一个相对虚拟机的形式,去走了这个 bug, 这里同样也可以去给他执行下一步,让他去跳过这段点去输出这个 hello word。 所以 这两种形式它都比较简单,都只需要去执行下一步就可以去跳过当前断点了。 看完了单断点形式之后,我们再来看一下真正意义上的无限 bug, 它是一种什么形式?再来看第一种,第一种是一个 will 死循环的断点,我们把这个代码给它复制过来,放到这里面来,先给它关一下上面的,先给它注视一下, 来看看这个代码啊,那么这个代码它是一个自执行的函数,它会自动去执行这里面的逻辑,在这里面又定义了一个 block 函数,里面放了一个第八个,是吧?我们这里也可以去给大家个输出 console log, 这里比如说来个幺幺幺。 好在下面又是去做了一个死循环,它这个这个条件会一直会一直进入到这个循环当中去调用的这个 block 函数,那么这个 block 函数呢?又去做了一个断点,现在它就会一直断,我们可以去右键调试看一下, 在这个地方它就会去断住了,输出了一一,我们再来去点击一次,它又输出了一一,这是第二次了,再来去执行一次,第三次,它这里就会去不断的去触发这个断点, 不断的去输出这样的一个,那么这种就是一个通过 real 循环来去实现的无限极 bugger。 其实在前端当中用 real 循环来去做无限极 bugger 的 形式还是比较少的,更常见的是定时器的形式,我们来看一下定时器断点, 把这个线给它注视掉,把这里的代码粘贴过来, set interval, 里面放了一个函数 f, 它里面的逻辑是先拿一个 debugger, 然后去输出 hello world, 每隔五十毫秒就去触发一次断点, 来右键去调试一下。啊,在这个地方它也断住了,我们来去执行下一步,它并不会退出这个断点,而是会继续在这个地方断住,因为它在这里一旦定时器开启之后,它就无法去停止了,所以你需要在它定时器开启之前就去给它处理掉。 那他这个一般来说是常见为一千毫秒就是一秒钟,那你说能不能在这一秒钟去给他处理,其实也不太现实,咱们还是按照正规的一个处理方式去给他处理。那如果有一天这里改成一秒钟一毫秒是吧? 那整个这个过程是非常快的,你不可能能处理过来。好,这个是定时器的形式,当然还有一种定时器叫做 set time out, 我 们来看一下 set time out, 这里面也可以把这个逻辑给他拿过来,给他注视一下 这个右键去做调试,它也会断在这个地方,但是这个地方你可以去执行,下一步它会退出这样的一个断点,因为 settimeout 就 只会去执行一次,那 settimeout 它能不能去实现这样的一个无限底包?它也可以,那怎么去做?我们来看给它改一下就可以了。 把这个逻辑再拿过来看一下。首先 settimeout 里面放了一个函数,第八个断点 log 去打印输出,在这里又去开了一个 settimeout, 它里面是走了一个什么调用的 f 函数去每隔五十毫秒去调用,是吧?那相当于是它进入到了地轨当中,就会去不断地重复地去调用这个函数,去实现这样的一个 bug 的 一个断点。来右键去调试一下, 好,第一次进来执行,它依旧会在这里不断地去断住,断住。所以这个定时器 set timeout 它也能去实现这个无线 debug, 但这种方式会比较少。更常见的还是这个 set interval 这样的一种形式。我们再来看一下一些其他的形式,比如说这个地方还有通过圆形链的方式来去执行 debug 的, 给他拿过来给他演示一下,好,这个给他先注视掉,我们这里粘贴过来,这里有一个大写的 f 开头的方形,他是去对他的圆形来做处理了。你们是放了个第八个去通过点块的形式来去调用,这个是通过点 app y 去调用,下面是通过构造器来去调用, 这下面差不多构造器,构造器,只不过它是形式不一样而已。这里是通过 eva l, eva l 去给它执行字母二的一个命令,这里是一个自治,这个是把自治的一个函数给它放成的这个字母二,通过 eva l 去给它执行一下, 同样的咱们这里去给它 debug 一下,所以这里它就会进入到这个虚拟机的形式里面,是一个自执行函数,是吧? debug 啊,咱们可以去给它跳过一下,这是第一个地方,它并没有去打印出来,这个一执行好,输出了,一又进入到了第二次 debug 好 再执行。二又进到了第三次,第三次是这个构造器的了 好,三四五六他都会去开启虚拟机的形式去给他断住,但他都是单次断点,但是这种单次断点他一旦结合上什么,结合上这样的一种定时器,或者结合上这样的一些什么热死循环,他就可以去实现一个无限的 bug 的 一个效果了。 看了这么多的 bug 形式之后,我们再来去讲一下他的解决思路来看,首先第一种是永不在此处暂停或者去添加条件断点子来看这样的一个网站,复制,我们这里去打开谷歌浏览器 粘贴过来,好,他就是这样的一个网站,我们去打开开发者工具 f 十二,好,他说被禁用了是吧? 右键也被禁用了,那就选择通过 ctrl shift 加 i 或者这样的形式给它打开。开发者工具一打开之后发现在这里去断住了这里能不能去执行一下这个地方执行一下,你发现他是跳不过去,会在这里一直开虚拟机去断在这个位置,是吧?那么能不能干嘛?能不能去右键在他的行号这里去右键选择,一律不在此处暂停, 去执行一下,发现他就没有在断住了之后,这个地方会说检测到非法调试,请关闭调试终端后刷新本页面重试。那他应该是检测到了我们这个开发者工具了,有可能他是去检测了什么,检测这样的一个窗口宽度, 可以去把这个开发者工具给他切出来之后来刷新一下,他就正常出这样的一些数据了吗?我们来看这里的一个网络面板,他就会有这样的一些数据包,就有了这样的一些数据包了。那么这个是第一种方式, 永不再处暂停,或者咱们这里可以去给他改一下,我这里先去给他切回来之后,刚刚那个方法,先给他关掉之后来刷新一下,再去打开开发工具, 好在这个地方给他添加条件断点,给他改成改成 false, false 就是 假的意思,他这里其实和那个永不再处站点是差不多的,当他走到这里之后一直都是 false 就是 为假的时候,他就不会再去进入到这个断点当中了,来回测一下。同样呢,这里也是执行,他也可以去跳过这个断点, 当这个咱们再去给它切出来之后,去刷新这个页面,好来看看数据包有没有就有了。所以这个第一种方式也是最简单的方式,添加条件段点,或者说永不在此处暂停。 我们再来看一下第二种方法,在事件函数调用之前去给它 hold 掉来看这个网站,当然也是进入到这个页面当中去,通过 f 二打开开发者工具,断住了,断住了之后来去试一下第一种方式,一律不再处暂停,来给它执行一下, 发现好像在这里卡了一下,又断住了,那就说明他并不能通过这样的一个形式来去处理,跳不过去卡死了,这里已经重新刷新一下,刷新不动,还是给他重新开一个好。 f 十二打开,现在我们就可以去通过看他的一个调用对战来去看这个函数是在什么地方调用的了。 上一个在这个位置,这个位置来看一下它在这上面做了混淆,这是什么东西?选中一下,这个是一个构造器,这个地方是一个 di 八 g 面,应该是点块了。点块,那就是说它是通过什么通过我们这个地方的一个形式来去做的构造器? di 八 g 点块这样的一种形式, 这个构造器我们来再往上面找一个站好,在这里面有个什么 set 英寸这样的一个定时器, 这个地方他是隔了多久?我们来看一下这是什么?零,这里这个是二五九一,是吧?反正他这个是什么?就是一个定时器,那就说我们要在他定时器开始之前就去给他处理掉, 那这里给大家来下个断点,重新去刷新一下这样的一个页面,在这个地方就给它断住了,把它还并没有去走,这里面的逻辑又可以干嘛?就可以去把这个定时器给它,甚至是给它 hold 掉,给它制空一下,来这里控制台 set 听到没有?就等于翻过去给它重新去处理一下,给它制空,它本来是要去走这样的一个逻辑的对不对? 但是现在我给它制空了,制空之后它就不会去走任何的逻辑了,但是有点小问题, 连接服务器,超时点击屏幕重试好,你点击之后又断住了,我们这里再来去看一下它能不能去重新给它 hold 一下。 set html 等于函数 f u 好, 回车再来去执行。还是会有这样的一个问题,说它这里 服务器断开连接的形式来看这里重新刷新好,断在了这个位置,往上面对战找一下,他应该还是会有些地方有问题,对战找找到最顶部的地名,在这里来看一下,他是自知其意,我们来往上面找一下是哪个函数,是哪个函数,找找找 是这个吧,是这个是哪个,看一下是不是这个,是这个。来在这里给他下多点看一下,重新去刷新页面,咱们在这里去给他置空一下, 回车好执行,这里先给他执行一下,是不是数据就出来了,是吧?这个页面就给他载成功了,并没有任何断点了,那咱们这里的这个税包也是正常去发送的,所以这个第二种方式,在他定时器开启之前就去给他 hold 掉,给他置空。 我们再来看一下第三种方法,文件替换覆盖的方法,那么这种方法不是那么的建议,因为你替换之后他可能会出一些问题,那我们也来看一下这个网站,也是进入到里面去, 通过 f 十二打开开发的工具,也是断在了这个地方,它是一个 set interval, 我 们也可以给它下个断点,可以去试一下第二种方式,看它能不能制空掉,刷新一下页面去制空这样的一个定时器,回车好去执行一下, 跳过了那个 set interval 断点,就进入到了这样的一个单断点,就一个单的 bug, 我 们可以去给它执行一下,是吧?没了。好,这个是制空的形式,那假设我们这里补给它制空,就去用替换 f 十二打开一下 替换,怎么去替换?在这个地方我们先在桌面去给它创建一个文件夹 app, 好, 这个命名可以去自己命名,然后我们在这个地方去看它是 app, 二八三九点 gs 右键去选择替换内容,他让你去选择文件夹,我们就选择这个桌面的 app 文件夹, 需要去允许,允许修改文件,允许把这个定时器,你都可以给它删掉,这个都可以给它删掉。 所以说你把这个 delete 这一段给它删掉也可以删掉之后我们这里可以给它 ctrl 加 s 保存一下,好,来刷新一下,它就不会在这个定时器里面断住了,而是断在了这个地方,这个地方, 那这个地方也可以给它替换,是吧?这里也是右键去替换内容,把这个 delete 也给它去掉, ctrl 加 s 给它保存上 刷新,是吧?就没有再有任何的断点了,就直接出了这样的一些数据,也出了对应的数据包了,这个数据包都是有的了,那么这个是替换内容的方式,他这里会起用本地替换,你给他勾选上,你如果不勾选,他就不会起用本地替换的,你要去给他去掉,就给他点击这个就可以给他去掉了,好吧?来再刷新, 他又有了吗?他就又回到了他自己的那个文件里面去了。啊,这个就是我们今天所讲的全部的对于无限 bug 的 一个文件里面去了啊,这个就是我们今天所讲的全部的对于无限 bug 的 一个文件里面去了啊?这个就是我们今天所讲的全部的对于无限 bug 的 那个文件里面去了啊。

还记得康德夫人吗?她是个巫婆。就在一千年前,女巫们合力将魔力拉放出到我的魔法咒语书里。你们书先借我用一下,我有急用。 那里就是巫术学院。我的扫把好像着火了。如果你把我变成千层面那样我就可以吃我自己了。 sibili 啊下课后给我留下来写五十遍。我以后再也不乱用魔法了。 你到底还要弄多长时间?快好了,我必须立刻赶到魔法学院才行,要不然全世界就要完蛋了。 我以后再也不乱用魔法了我以后再也不乱用魔法了。 啊好了,这是最后一遍。太棒了,现在用魔杖把欧弟变回来,我们两个就能回家了。 你好,我在跟你说话呢。对,就是你,你听不懂吗?你有话想跟我说对吗?猫咪,等等,我记得有个咒语嘿,帮我个忙好吗?要是他把我变成什么恶心的东西,你就立马把电视关掉,巴拉巴拉叔叔的 倒。哦不对,不是巴拉巴拉说说的,是说说哒哒哦你果然你就猛的要安宁哦。我想起来了,是说说说哒哦。这次你能听懂了吗?一二三一二三 成功了,我听得懂你说什么了。真的吗?哦,太好了,你快给我听着,帮我把欧弟变回笨狗笨狗需要跑来跑去到处乱叫,还要捡棍子才对,怎么能关在笼子里, 我不是故意要惹出这些麻烦的。我的蝙蝠跑了,我不知道该怎么办,我想当个好女巫,可是每次我都弄错咒语,所以我才会没有朋友。 see you later ooh。 我 的我当然也很开心了。我没事,你们走吧。嗯,听到了吗?欧弟,我们走吧 快走吧。乔恩烤的披萨都快凉了。咱们回去再让他多烤几个。 魔法泡泡解除成功。爸爸请在这里签上大名。全世界都快要毁灭了,还签什么名字。 是个小魔法就轻松多了。谢谢,但是不可以,我答应我阿姨一定会做个好女巫。 欧弟你别再唉声叹气的,我又不是吃饱了没事干。现在我们得找个飞天扫把,然后快点离开这个鬼地方。 哎呀好吧,我是对那个小丫头冷淡了一点点,要不然我们回去安慰她一下好了。 要是你把我的咒语书还给我,你哪里都别想去。书在哪里?他在你的外咒语阿紫家那里。 哦,拜托,你该不会用咒语做了些什么自私的事吧。我自私的事情啊,当然没有了, 虽然我非常想做了,可是时间不够。很好,现在我们要去阻止阿比家做傻事。快带我去找他。只要一个自私的举动就会把魔改 哈哈哈哈哈哈。哎啊哈哈哈哈哈哈他们太过分了。你这么听话有什么好, 你注定要与众不同。阿德加,你要做大事。你就是我阿姨跟我讲的那个坏女巫对不对?他们把你关在书里面,让你不能对世界施咒啊。算是吧, 不过你不能只听片面之词,能打安妮家,难道你不想让人怕你尊敬你吗?我很想。那就听听我的意见, 就我们两个聊聊,听听我的话,保证你不会吃亏,除非你想一辈子被罚抄写或者擦地板。哎,等等,你教我好不好?我该怎么做呢?你只要大声说出你的愿望就行。 许愿说让我自由我就全教你。我 希望你能得到自由。阿布加不行。哈哈哈我自由了。终于离开那本脏兮兮的书了。啊哈哈哈哈哈哈 抱歉我邪恶的笑有点难听。好久不见了亲爱的老姐。老姐她是你的姐姐。你等一下这么说魔力拉也是我的阿姨对吗? 你跟他说我是你的妹妹了吗?我这一千年来拼命想忘记这件事情了。咱们快跑吧,我猜他们等一下就要打起来。 没错,他是我的妹妹,我们是一家人,身上都有一个我们爸妈用爱筑成的爱心坠子啊魔力拉,我猜你的心应该没有留着吧, 我早在一千年前就把它扔掉了。是啊,用膝盖想也知道 big mouth 到底是谁把魔力拉阿姨放出来的。是我闯的祸。哇,好温馨的家庭聚会。记住,阿比加最强的魔法绝对不是来自魔杖阿姨, 七哥,那是康德夫人的坠子 阿姨,他刚才说最强的魔法是什么?绝不是来自魔杖,而是发自内心心 听他说的。我早已经把心献给了黑魔法还不是好得很。来救回他以前先由你负责保管。偏知道还有没有救。我一定要阻止你啊! 三十六计走为上策了。哼,等等我。该死的小丫头把书给我。 啊啊 我真的不喜欢这种长篇故事,累的快要了我的命。我会找到你的阿比加。还有那只小猫咪。那条狗啊。 看吧,在发霉的旧书里灌了一辈子哮喘。不发作才怪呢。 你确定他没有追来吗?我确定,不然我们早就像温娜一样只能吃苍蝇了。啊啊啊啊啊啊啊 味道不错。我们现在该怎么办。什么我们呢?不要把我们扯进女巫的战争。欧弟,我们回家去吧。加菲猫,如果我们不阻止他,你就没有家可回了。 他说的没错,要是魔力拉释放禁忌之月,整个世界就会陷入永恒的黑暗,所有的生物也会变成跟我们一样。 哦,我都吓到没有胃口了。小美毛,慢慢吃饱啦,是你最爱吃的苍蝇千层面, 明白了,那该怎么阻止他?我记得阿姨说过,魔力拉需要三种魔法宝物才能有办法完成咒语。首先是背上扫把,他可以带你去任何你想要去的地方, 然后还有水晶玻璃鞋,穿上它就不用怕任何魔法了。这个是黑妖魔杖, 它是整个仙界法力最强的宝物。那我们就必须要抢在魔力拉之前找到他们才行啊。这里有地图,根据这张地图,悲伤扫把就在张牙舞爪森林的深处,大概要走一个小时左右。 这里有叫出租车的东西吗?嗯,靠你自己的脚走吧,不过我得呛哦,走路。我真是恨死这个长篇故事了。 哦,那里一定是张牙舞爪森林,太恐怖了。我们进去找到魔法扫把,然后赶紧跑。 又怎么了?我突然想到这个地方不欢迎女巫,因为这座飞天扫把的木头就是从这来的。女巫们一天到晚砍树,所以剩下来的树都当我们是敌人。嗯。