设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1813|回复: 5
打印 上一主题 下一主题

[胡扯] 关于小语言的进展 II

[复制链接]
头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

跳转到指定楼层
1
发表于 2014-9-24 18:27:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
320 小时
注册时间
2014-9-2
帖子
267
2
发表于 2014-9-24 19:51:57 | 只看该作者
嗯...语法解析器...
那是什么?...

我有点搞不清楚状况...

能用这个写游戏吗?

点评

不仅仅是写DSL,变化了语法可以自定运算符、字面量和代码块的形式,DSL看起来更自然(更看不懂)一点?  发表于 2014-9-24 23:20
要写DSL吗?  发表于 2014-9-24 22:21
其实是之前有个帖子我说稍微弄一个局部小语言来精简一下常用的脚本,基于Ruby,比如代替事件脚本  发表于 2014-9-24 20:48
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
320 小时
注册时间
2014-9-2
帖子
267
3
发表于 2014-9-24 23:54:42 | 只看该作者
本帖最后由 蝉岭Cicada 于 2014-9-25 00:00 编辑

看了这个http://ideone.com/nFf9KS

嗯...看不懂  (lambda的嵌套...第一次见)

然后真是奇葩的...正则? (是用eval_expr取代正则?)

好吧...我什么都不知道...

暂时不知道有什么用...


所以你在做类似这样的工作?

  1. class MyClass
  2.   def instance_var_set=(var)
  3.     @target_var = var
  4.   end
  5.   
  6.   def instance_var_get
  7.     @target_var
  8.   end
  9. end

  10. obj = MyClass.new
  11. obj.instance_var_set = 999
  12. p obj.instance_var_get #=> 999


  13. class MyClass
  14.   def ●(var)
  15.     eval("@" + var.to_s)
  16.   end
  17. end

  18. p obj.●("target_var") #=> 999
复制代码


应该有精简到了什么...

点评

像这种我们是用的obj.i.target_var或者obj.i[:target_var]  发表于 2014-9-25 14:44
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

4
 楼主| 发表于 2014-9-25 00:17:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
帖子
1698

开拓者

5
发表于 2014-9-25 12:21:39 | 只看该作者
太可怕了完全看不懂

  -fk: -azogi:
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

6
发表于 2014-9-25 12:25:19 | 只看该作者
新人表示完全看不懂,默默地来水一贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-10-4 09:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表