MoonScript与JSON
作者:糖果
lapis = require "lapis"
import json_params from require "lapis.application"
...
Moonscript与HTML模板
作者:糖果
Moonscript与HTML模板
Lapis框架可以用Moonscript直接编程,Moonscript可以将需要模板系统对于的网页输出,一揽子的都在Moonscript中用代码实现,可以看leaof.net/lapis下最典型的官方例子,其实DB的相关操作也可以在moonscript中都完成了,对于某种类型的操作来看,这是很酷的。
我们先来看一下模板的例子:
import Widget from require "lapis.html"
class Index extends Widget
content: =>
h1 class: "header", "Hello"
@user_panel!
div class: "body", ->
text "Welcome to my site!"
user_panel: =>
return unless @current_user
div class: "user_panel", "Welcome back " .. @current_user.name
这段m ...
MoonScript's Object
作者:糖果
Coffescript是一种中间的脚本,可以把这种脚本翻译成JavaScript。而MoonScript,是可以翻译成lua语言的中间脚本。
本文简单的介绍的:
如何在VIM中,实现MoonScript语法高亮。
如何简单的编译MoonScript脚本。
MoonScript面向对象OO简介。
1.安装MoonScript
sudo luarocks install moonscript
2.创建.moon源文件
app.moon
lapis = require "lapis"
class extends lapis.Application
"/": =>
"Welcome to Lapis #{require "lapis.version"}!"
3.安装MoonScript语法高亮的插件。
3-1.下载vim的bundle插件管理程序。
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
3-2.创建.vimrc配置文件。
v ...
MoonScript for GrayLog
GrayLog REST API Wrapper for Moonscript
此程序是Graylog REST对外提供的API的一个Moonscript的Wrapper封装,把REST接口提供的数据服务,变成通过函数调用的方式取得相应REST接口返回的数据。
下面是一个实际的基于Lapis框架程序中调用此SDK的例子:
class App extends lapis.Application
"/testcase": =>
--准备对应REST的输入参数,如果相应该有的项目没有设定会输出NG原因。
param_data= {
fields:'username',
limit:3,
query:'*',
from: '2017-01-05 00:00:00',
to:'2017-01-06 00:00:00',
filter:'streams'..':'..'673b1666ca624a6231a460fa'
}
--进行鉴权信息设定
...
Django超级简单的MVC实例
【前言】
写一遍django的入门例子,基于MVC设计模式,本程序有输入,处理,输出。开始用django搬运互联网上的数据。简单介绍一下什么是MVC模式。MVC就是把程序成分3部分职责。
【MVC】
V(View):系统的界面,django中就是网页。UI部分,用于接受用户的数据,输出用户的数据。
M(Model): 处理用户输入的数据,对数据进行加工。django中就是py文件中的方法。
C(Control):处理用户的功能请求,分配给不同的模块进行处理。django中就url的分发。
【功能概要】
提供一个表单,接受用户输入的数据(输入V),将用户的数据写出到数据库中(处理M),并将写入的结果显示在网页上(输出V)。这就是数据搬运的一个简单流程,在此最基本的模式上,会衍生出数据库的CRUD(增加,查询,更新,删除)操作。
以上这些动作,基本都是熟能生巧的技术工作,某种角度来说,就是模式化重复的体力活,不同的是,django可以快速的完成这些任务,短小精干,并且快速。
【HTTP】
[code]
[08/Mar/2014 14:53:01] “GET /search/?name=% ...
MoonScript官方文档
我本人写的中文版的MoonScript文档,直接看官方文档其实,还是会不得要领。后面的英文部分,就是官方的,前面是中文自己写的。
国内用MoonScript的用户相对比较少,作者leafo创作了moonscript,另外还用moonscript创作的一个lua web框架:lapis。估计moonscript想在国内普及还需要一段路要走。
Coffescript是一种中间的脚本,可以把这种脚本翻译成JavaScript。而MoonScript,是可以翻译成lua语言的中间脚本。
本文简单的介绍的:
如何在VIM中,实现MoonScript语法高亮。
如何简单的编译MoonScript脚本。
1.安装MoonScript
sudo luarocks install moonscript
2.创建.moon源文件 # app.moon
lapis = require "lapis"
class extends lapis.Application
"/": =>
"Welc ...
MoonScript API
{
target: “reference/api”
template: “reference”
title: “Compiler API”
short_name: “api”
}
MoonScript Compiler API
Autocompiling with the moonscript Module
After installing MoonScript, you can include the moonscript module to make
any Lua script MoonScript aware.
require "moonscript"
After moonscript is required, Lua’s package loader is updated to search for
.moon files on any subsequent calls to require. The search path for .moon
files is based on the current package.path value in Lua when moo ...
MoonScript Command Line.
{
target: “reference/command_line”
template: “reference”
title: “Command Line Tools”
short_name: “command_line”
}
Command Line Tools
Two tools are installed with MoonScript, moon and moonc.
moonc is for compiling MoonScript code to Lua.
moon is for running MoonScript code directly.
moon
moon can be used to run MoonScript files directly from the command line,
without needing a separate compile step. All MoonScript files are compiled in
memory as they are executed.
$ moon my_script.moon
Any Moon ...
善良比聪明重要---亚马逊 CEO 杰夫·贝佐斯(Jeff Bezos)在母校普林斯顿大学演讲
2010 年,亚马逊 CEO 杰夫·贝佐斯(Jeff Bezos)在母校普林斯顿大学的毕业典礼上,勉励年轻人,善用自己的天赋,做出对的选择。因为,「人生到头来,我们的选择,决定了我们是什么样的人。」
以下是 Bezos 演讲内容:
As a kid, I spent my summers with my grandparents on their ranch in Texas. I helped fix windmills, vaccinate cattle, and do other chores. We also watched soap operas every afternoon, especially “Days of our Lives.” My grandparents belonged to a Caravan Club, a group of Airstream trailer owners who travel together around the U.S. and Canada. And every few summers, we’d join the cara ...
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_ ...