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

Lua⭐️字符串的操作

> string.find("Hello Lua user", "Lua", 1) 7    9 5 string.reverse(arg) 字符串反转 > string.reverse("Lua")...com") www.runoobcom 11 string.gmatch(str, pattern) 回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串...如果参数 pattern 描述的字符串没有找到,迭代函数返回nil。...参数init可选, 指定搜寻过程的起点, 默认为1。  在成功配对时, 函数将返回配对表达式中的所有捕获结果; 如果没有设置捕获标记, 则返回整个配对字符串. 当没有成功的配对时, 返回nil。...", "(%d+) (%a+)")) 2, "questions" 格式化字符串 格式化字符串是将字符串用某种格式展现出来 字符串的组拼可用 ..

9210

python-函数的对象、函数嵌套、名称

('from f1') l = [1,2,3,f1] l[3]() from f1 函数的嵌套 函数的嵌套定义 函数内部定义的函数,无法在函数外部使用内部定义的函数。...名称空间 内存存储变量名与变量间的绑定关系的空间(存放变量名的空间),这个空间被称为名称空间。...全局名称空间 全局名称空间:除了内置和局部的名字之外,其余都存放在全局名称空间,如:x、func、l、z 生命周期:在文件执行时生效,在文件执行结束后失效。...局部名称空间 局部名称空间:用于存放函数调用期间函数体产生的名字。...加载顺序 (考试必考) 内置名称空间—>全局名称空间—>局部名称空间 查找顺序 (考试必考) 从当前名称空间开始查找,然后逐步往上,如果当前为局部,则顺序为局部—>全局—>内置 作用域 作用域:作用的区域

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

    Lua中的函数式编程

    最近在用Lua实现Websocket协议时,碰到了一个直击我的思维惯性的弱点的Bug。...而require "foo" 的本质工作(如果你没有修改packaeg.preload的话)是在合适的路径找到foo.lua,并将其编译为一个chunk(一个拥有不定参数的匿名函数),然后执行这个chunk...以往写Lua代码时,我一直以为Lua是“原型对象”编程范式,然而这个“大跟头”让我发现,原来Lua的底层基石竟然是“函数式编程”范式(非纯函数式编程语言,Lua中的函数有副作用)。...这次终于打破了以往的范式惯性(上次学Lua时,我也是自信满满的认为我懂了函数式编程,结果摔了个大跟头)。 先来大致看看面向对象的哲学。...自身的GC机制会保证,在函数(闭包)没有被回收前,其携带的环境变量永远有效。 在Lua的require和chunk的机制中我摔的跟头充分验证了这一点。

    1.2K20

    python函数可以按照参数名称方式传递参数_python字符串作为函数参数

    函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。...值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。...值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。...被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。 在python中实际又是怎么样的呢?...然后传参的值在被调函数内被修改也不影响主调函数的实参变量的值?再来看个例子。

    2K20

    【Python基础之函数:函数的介绍及名称空间 】

    Python基础之函数:函数的介绍及名称空间 一、函数 1、什么是函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 作用: ​ 函数能提高应用的模块性,和代码的重复利用率。...4.函数注释 类似于说明书,用来介绍这段函数体的使用说明 5.函数体代码 是整段函数的核心,主要取决于程序员的编写 6.return 使用函数之后可以返回数据给使用者,可以不填 3、函数的定义与调用...可接收各类数据库并循环进行传参 def func(x, y, z, *args): print(x, y, z, args) func(1, *(1, 2), 3, 4) 1 1 2 (3, 4) ‘’’ 须知: 1.字符串...print(args, kw) 三、名称空间 1、名称空间的类型、作用及存活时间 内置名称空间 作用:用来储存python解释器内置方法名的空间 作用域:python解释器 存活周期:解释器开启则产生...,关闭则销毁 全局名称空间 作用:用来储存py文件内变量名的空间 作用域:单个py文件 存活周期:单个py文件打开时产生,关闭则销毁 局部名称空间 作用:用来储存函数体代码内变量名的内存空间

    13010

    Lua函数的冒号调用和点调用

    lua冒号函数的定义和调用 冒号定义函数中的self指向函数所属表对象,即self是table类型,通过self表可以:访问挂载在该表下的所有冒号定义函数 如,有定义A={},A:b() A:c();...函数b,c都是冒号定义函数,在b,c函数内部self是地址指向A的表,在b函数中可以通过self:c()来调用c函数,同理在c函数中也可以通过self:b()来调用b函数 代码示例: local tb..."调用func2") end function tb:test() self:func1() self:func2() end tb:test() --调用func1 --调用func2 lua...点函数的定义和调用 总之lua点定义的函数中self=nil,不像冒号定义函数那样可以self指向函数所属对象 点调用冒号定义函数 点调用冒号定义函数,第一个参数传递给self,调用无参时,self=nil...--冒号调用点定义函数,调用者对象表传递给点定义函数的第一个参数 tb:func2("第一个参数","第二个参数")

    3.4K20

    Python入门之函数的嵌套名称空间作用域函数对象闭包函数

    空间名称的定义 #名称空间:存放名字的地方,三种名称空间,(之前遗留的问题x=1,1存放于内存中,那名字x存放在哪里呢?...函数内部定义的名字,函数的参数以及函数内的名字都存放在局部名称空间 # b. 在函数调用时候临时生效 ? 2....名字空间的加载顺序 python test.py #1、python解释器先启动,因而首先加载的是:内置名称空间 #2、执行test.py文件,然后以文件为基础,加载全局名称空间 #3、在执行文件的过程中如果调用函数...,包括局部变量和形参 enclosing 外部嵌套函数的名字空间(闭包中常见) globals 全局变量,函数定义所在模块的名字空间 builtins 内置模块的名字空间 # 局部名称空间--->全局名称空间...    3.2 局部作用域 # 包含的是局部名称空间的名字; # 只能在函数内使用,调用函数时生效,调用结束失效  三、函数对象(函数在Python中是第一类对象) 1.

    1.3K100

    字符串的常用函数

    C语言中设计了一些专门用于处理字符串的函数,常称为字符串函数,除了前面介始的gets和puts以外,还有如下函数: 1....字符串的比较过程是将两个字符串从第1个字符开始向右逐个比较每个字符,直到出现字符不相同或其中一个字符串出现字符串结束标记'\0'为止。字符比较的依据是按照其ASCII码值。...比较的结果有以下3种情况: (1)如果两个字符串长度相同且对应的每个字符都相同,则字符串1等于字符串2,函数值为0。...计算字符串长度函数strlen 函数调用的一般形式: strlen(字符串) 其作用是计算字符串的长度,结果以函数值的形式得到。字符串的长度是字符串中字符的个数,不包括字符串结束标记'\0'在内。...strupr函数的作用是将字符串中的所有小写字母转换成对应的大写字母。 相同函数 例:从键盘输出一个字符串,不使用strlen函数,计算并输出该字符串的长度。

    54930

    可变长参数,函数的嵌套,名称空间,关键字

    函数内部的函数只能在函数内部调用,不能在函数外部调用 如 def f1(): def f2(): print('asdad') f2() 会报错 ,f2没有定义 三.名称空间...1.内置名称空间 名称空间(name spaces):在内存管理那一章节时,我们曾说到变量的创建其实就是在内存中开辟了一个新的空间。...生命周期:在python启动时候,python关闭时候 2.全局名称空间 全局名称空间:除了内置和局部的名字之外,其余都存放在全局名称空间....生命周期:在文件执行时生效,在文件执行结束后失效 3.局部名称空间 局部名称空间:用于存放函数调用期间函数体产生的名字.` 生命周期:在文件执行时函数调用期间时生效,在函数执行结束后失效 如: x =...print('from f2') f2() f1() 关于三种名称空间的加载顺序: 内置名称空间→全局名称空间→局部名称空间 名称空间的查找顺序 如 x=1 def f1(): def

    1.2K10
    领券