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教程

如果不小心安装错 SQL Server 为 Evaluation 的版本,要小心当超过 180 天之后,系统就会无法正常使用了 这几天遇到一个蛮特别的案例,原本收到的问题是 “维护计划” 忽然无法使用,即便是里面没有任何的Task,都无法顺利地执行。但从对方所提供的错误消...… Continue reading

PLUM NIZ静电容键盘怎么样?

Published on September 25, 2020

程序员如何选择合适的机械键盘

Published on September 18, 2020