V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  daqing  ›  全部回复第 1 页 / 共 35 页
回复总数  700
1  2  3  4  5  6  7  8  9  10 ... 35  
@zhiyu1998 口号错了。

正确的口号是:用 emo ,不 emo 。
@Kevin2 谢谢支持啦
@inframe 今天也有朋友提到 DSL 的问题
@xiangyuecn 是的,我也觉得不太好,所以最新的代码,已经去掉了 const 关键字。

改成通过:

define(MAX_AGE, 35)

这种语句,来定义常量。
不过,从语义上讲,如果 new()的第二个参数,用来初始化值,那么,不应该出现,和 class 中的定义,对不上的情况。所以,这时候也可以作为 Error ,抛出。
@newtype0092 首先,这里说的静态检查问题,通过写一个静态检查器,是可以捕捉这种 typo 的情况的。

另外,对于语言来说,如果 name 写错了,匹配不上,那么,对象的初始值,就是 nil
@lambdaX999 是的,受 Swift 影响比较大
@Kilerd 是的,还在非常早期的阶段,连 0.1 都算不上吧。
@fcten 这个名字不错,犀利
@newtype0092 最简单的对应方法,就是一一对应啊。比如:

class Foo {
var name: String
var title: String
}

cosnt foo = new(Foo, {"name": "David", "title": "CTO"})

这里的规则,就是一一对应。Foo 声明了哪些字段,后面的 kv 字典,就去初始化赋值。
@byp 那估计要等 1.0 之后了,现在还是语法设计阶段
@iamzuoxinyu 类本身,也是一个对象。HelloWorld 是类对象,传入这个名字没问题吧,你要是有 ruby 经验,就能理解。
@OnlyO 天下语言一大抄。其实都差不多的
@Pantheoon 因为语言就叫 Emo ,所以文件名是 abc.emo
@yolee599 var 是变量,const 是声明常量,应该不难理解吧。new 是一个构造函数,用于创建类的实例。new 的第二个参数,是用于初始化类的实例变量的。
@CEBBCAT 是的,代码就是基于那个的基础
@MrLiu04 你有 API 接口,就肯定可以呀
@PTLin 是的,主要参考了 3 个语言:Go, Ruby, Swift
@ztty #26 我从 token 解析,到语法解析,到构建 AST ,到执行代码,都实现了。
@ztty #22 准确的讲,是实现一个解释器,就可以。
1  2  3  4  5  6  7  8  9  10 ... 35  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2705 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 15:19 · PVG 23:19 · LAX 07:19 · JFK 10:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.