文档章节

lua中print

andrew810810
 andrew810810
发布于 2017/02/17 15:15
字数 293
阅读 37
收藏 0
Lua

reference:

http://www.lua.org/manual/5.3/manual.html

 

print (···)

Receives any number of arguments and prints their values to stdout, using the tostring function to convert each argument to a string. print is not intended for formatted output, but only as a quick way to show a value, for instance for debugging. For complete control over the output, use string.format andio.write.

 

tostring (v)

Receives a value of any type and converts it to a string in a human-readable format. (For complete control of how numbers are converted, usestring.format.)

If the metatable of v has a __tostring field, then tostring calls the corresponding value with v as argument, and uses the result of the call as its result.

示例:

a = {5, 6}
print(a)
--用c来做Metatable
c = {}
c.__tostring =function(set)
    local s = "{" 
    local sep = ""
    for _,e in pairs(set) do
        s = s .. sep .. e
        sep = ", "
    end 
return s .. "}" 
end

setmetatable(a, c)
print(a)

 

执行结果:

table: 0x1041150
{5, 6}

 

注释:

1. 调用第一个打印print(a),表示a为一个table,以及对应的地址。即print 函数调用 tostring 来格式化的输出。

2.调用第二个打印print(a),结果为__tostring的返回值。即当格式化一个对象的时候,tostring 会首先检查对象是否存在一个带有__tostring 域的 metatable。如果存在则以对象作为参数调用对应的函数来完成格式化,返回的结果即为 tostring 的结果。

© 著作权归作者所有

共有 人打赏支持
andrew810810
粉丝 3
博文 141
码字总数 117648
作品 0
朝阳
Lua Starter

标签: Lua Lua starter Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 是巴西里约热...

维特的烦恼
2016/07/21
486
0
内置变量与原生shell脚本运行

xmake在xmake.lua中提供了 的语法,来支持内置变量的获取,例如: 它将会在在实际编译的时候,将内置的 变量转换为实际的构建输出目录: 并且这些变量在自定义脚本中,也是可以支持的,例如:...

ruki
2016/07/19
10
0
Lua脚本语言简明入门教程

Lua知识备忘录 http://www.cnblogs.com/cswuyg/p/5049935.html 这篇文章主要介绍了Lua脚本语言简明入门教程,本文简洁干练,可以让一个有编程基础的快速的学会Lua脚本语言,需要的朋友可以参考下...

八戒_o
2016/01/12
197
0
cocos2dx-Lua中出现的问题

1,在Lua中print输出失效的问题 在main.lua中添加print=release_print ;

乐逍遥jun
2016/02/22
5
0
Programming in lua 杂记(转)

1,loadstring 编译的时候不关心词法范围: local i = 0 f = loadstring("i = i + 1") g = function () i = i + 1 end 这个例子中, 和想象的一样g 使用局部变量i , 然而f 使用全局变量i ; ...

jeffjade
2014/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 小心着凉 @红薯

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:5.33起,其声呜呜然,如怨如慕,如泣如诉。余音袅袅,不绝如缕。分享Arch Enemy的单曲《Bridge Of Destiny (2009)》 《Bridge Of...

小小编辑
今天
162
4
what f,,

anlve
今天
2
0
初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
13
0
现场看路演了!

HiBlock
昨天
21
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部