Moonscript的Map声明差异

Moonscript的Map声明差异

在Moonscript中,第一种table map的声明,对变量的赋值使用的是:“=”,,而第二种使用的方式是:“:”,可以通过下面moonc生成的代码,看出差异在那里:

使用:“=”

    stats= {
        buffer_size_limit: t['journal_size_limit'],
        buffer_size: t['journal_size'],
    }


      local stats = {
        buffer_size_limit = t['journal_size_limit'],
        buffer_size = t['journal_size']
      }

使用:“:”

    stats: {
        buffer_size_limit: t['journal_size_limit'],
        buffer_size: t['journal_size'],
    }

      local _ = {
        stats = {
          buffer_size_limit = t['journal_size_limit'],
          buffer_size = t['journal_size']
        }
      }

而上述这种差异,会在什么地方起作用呢?

    json = require "cjson"
    util = require "cjson.util"

    stats= {
        buffer_size_limit: t['journal_size_limit'],
        buffer_size: t['journal_size'],
    }

    json: {
       success: true
       message: json.encode(stats)
    }     

在Cjson的encode时,如果选用的表变量是”:”声明,基本是无法编码成json出来的,不出意外,返回的就是一个’null’。

糖果

糖果
LUA从入门到放弃

Moonscript如何显示复选框

Moonscript如何显示复选框 Continue reading

Lapis框架的常用处理方法

Published on March 02, 2017