为什么人们在Lua中使用无空格的“函数名称”字符串”样式?
2013-12-18 13:52:3
收藏:0
阅读:105
评论:3
在Lua中,如果一个函数接受一个字符串字面量作为单个参数,我们可以省略括号。
我感到好奇的是为什么许多我认为在Lua中非常熟练的人没有在它们之间打空格。例如,他们这样做:
local re = require're'
s = f:read'*a'
而不是:
local re = require 're'
s = f:read '*a'
为什么会这样?
点赞
用户107090
自从 Lua 2.1(1995 年)以来,可以写成 f{} 而不是 f({}),以便处理数据文件,例如 BibTeX。
自从 Lua 3.1(1998 年)以来,可以写成 f"hello" 而不是 f("hello"),以便处理特定领域语言和更自然的配置文件,例如 host "myhost"。它还适用于表达式,例如 require"re",感觉就像 require 是一个关键字,而不是一个函数。
这两种形式可以组合使用,以获得更自然的表达式,例如 host "myhost" { ip="0.0.0.0" }。
因此,为了回答您的问题,这些形式的动机是为了提高清晰度和表现力,尽管它也迎合了懒惰。
2013-12-19 11:15:55
用户1847592
使用等宽字体 require're' 容易阅读且外观美观。
在语法高亮环境中,require 和 're' 将具有不同的颜色。
因此,绝对不需要额外的空间。
2014-01-02 10:38:16
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
Lua是完全由用户控制的,你可以输入任意多的空格,或使用
“string”代替'string'。每个人都能够自定义他们的Lua编码,不像C/C++那样强制要求使用单一样式输入参数。你可以使用自定义的方式,喜爱的方式。Lua不要求你只使用一个空格或者根本不使用空格。Lua通过搜索你的参数来读取代码,不管你输入了多少个空格,它只是搜索你的关键词。这使得在编写完python或C++后,编写lua变得容易,所以你不必改变编程的方式来使用lua。以下几种方式几乎可以用于你的代码:local re = require're' s = f:read'*a' local re = require('re') s = f:read('*a') local re = require('re'); s = f:read('*a'); local re = require 're' s = f:read '*a' local re = require"re" s = f:read "*a" local re = require("re") s = f:read("*a") local re = require("re"); s = f:read("*a"); local re = require ("re"); s = f:read ('*a");这基本上意味着添加空格,删除括号或添加分号不会影响代码。 此外,Lua字符串是
“或'。换行符也不会影响代码,以下是一个示例:print"aaa"print"aac"print"aab"但最好让您的代码具有可读性,这使得您更容易修复错误和缺陷。不添加换行符使得无法调试错误,它只返回位于第一行的错误,即整个代码。