V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  aligo  ›  全部回复第 19 页 / 共 26 页
回复总数  516
1 ... 11  12  13  14  15  16  17  18  19  20 ... 26  
2011-03-19 11:32:19 +08:00
回复了 aligo 创建的主题 分享发现 "Zombie" Ants Found With New Mind-Control Fungi
2011-03-19 09:38:23 +08:00
回复了 luo123qiu 创建的主题 程序员 如何快速的学习Javascript?
珍惜生命,远离js,请使用js代码生成器:http://jashkenas.github.com/coffee-script/
2011-03-19 09:34:31 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
这两天稍微找了找能用的资源,并没有什么用来生成纯php解析器的生成器的好方案
现在有的选择要么就是自己用php从头造一个,以后再慢慢改成用代码生成器生成(有点绕,就是用代码生成器生成自己的解析器生成器和代码生成器自己)
要么像php-snow那样用例如PLY之类的
各位有什么好主意吗。。。
2011-03-17 17:38:14 +08:00
回复了 sqbing 创建的主题 摄影 关于D3100和60D,推荐哪个?
@sqbing 主要原因还是我自己一直用尼康,也尽可能推荐别人用尼康,就是感觉D3100靠谱些,至少手感好
500D 550D什么的就算了,数码产品买新的不买旧的
升级应该是指从xxxD这个级别升级到xxD或者xD,不过升级什么非常烧钱,各种上瘾,不如一步到位- -
2011-03-17 12:16:43 +08:00
回复了 sqbing 创建的主题 摄影 关于D3100和60D,推荐哪个?
D3100是尼康的

我推荐D3100
BBC官方宣布:女性穿女仆装展开绝对领域可以抵挡各种放射性物质!
另外,连接在php中数据库应该用pdo比较好,fetchAll返回就是数组,不用手动遍历再push
楼主需求应该可以写成
lists = lists.map(_['c']=1)
美观直接一目了然,可惜只是我的YY
虽然php的垃圾回收挺不靠谱的,不过php脚本的执行通常是随着http请求结束
所以尽可能不要用引用传递什么的比较好,对于变量每次变更,按照php默认做法,都指向一个新的引用比较好

不过php实在太不美观,缺乏表现力,从这个常用的array_map就可以看出-A-

不知道楼主有兴趣没:http://v2ex.appspot.com/t/9646
用array_map,通过FP方式来解决这个问题
$lists = array_map(function($e){
$e['c']=1;
return $e;
}, $lists);

无污染无副作用,不过用php来写这个实在太不美观了
还是应该造个php代码生成器
@lianghai 之前看到的说法是用海水和硼酸注入反应堆,用硼酸来吸收热中子,可见控制棒并没有把反应降低到一个理想水平,而之前都未出现中子辐射,现在燃料棒从海水和硼酸中露出,就能使中子辐射在外部被检测出,我大胆怀疑外部的保护容器可能有损坏

当然我这样胡乱做出推断或许不够严谨。。。自我检讨
现在2号机已经有中子辐射被检测到,也就是穿透力最弱的alpha粒子已经出来了
基本可以确定辐射源有一部分暴露出来了,虽然控制棒插入,不会继续反应
但是放射源本身包括氦核的扩散也比之前的情况严重多了
现在二号机已经检测到中子辐射,也就是穿透力最弱alpha粒子已经出来了
也就可以肯定二号机的放射源已经暴露出来了。。。
2011-03-13 21:18:56 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
。。。贴出来之后缩进都被干掉了。。。
大家自行脑补好了。。。

现在实现上我最大难题就是eval,我只能想到提供一个php写的标准库然后把全部代码生成器的代码的都灌进去一遍的方法

这就基本意味者这个php代码生成器必须用php写成(或者至少有php实现),而这东西诞生的目的是php很难写。。。

另外php-snow用的PLY看上去是不错的,关键是一直被更新着
2011-03-13 21:14:22 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
晚上把我对基本语法的想法写下来,欢迎吐槽

一切都是对象和方法调用(类似Smalltalk),并且完全基于lambda(类似Lisp),实现各种语言的基本功能
最简单例子1+1其实是1.+(1)
包括代码块也是方法调用,所有代码其实都是一个顶层对象Source的内部调用
如果创建一个类
class A
def a
print "helloworld"
其实是
Source.class(A,{
this.def(a,{
print "helloworld"
})
})

if(x == 0)
...
else
...
其实是
this.if((x == 0),{...},{...})

因此三目运算符
(x == 0) ? 1 : 2
其实是
this.if((x == 0),1,2)

调用方法的点是可选的,传递参数过程中圆括号可以省略,逗号可以用空格替代,花括号可以用换行缩进替代,end闭合代码块是可选的
arr.each({...})
str.replace("a","b")
可以为
arr each
...
str replace "a" "b"

lambda部分,具名输入为
{(arg1,arg2,args*)
...
}
如果
{
print "helloworld"
}
print方法的调用对象,是上下文对象列表中的由最后一个到第一个中的一个,按顺序,第一个永远是Source
所以对一个lambda对象执行call/apply方法
lambda.apply(this) #定义上下文不调用方法
lambda.call(...) #传入参数调用方法
或者
lambda(...)
的输入参数永远是被加入到当前上下文对象列表中的最后一个
基本上就是一个lambda会继承包裹自己的lambda的上下文对象列表,并且加入新的对象,再传递给自己内部的lambda
用俗话说,就是类似闭包感觉,另外当然闭包也是存在的,唯一的区别就是不会在闭包能访问的对象上调用前面说到的print方法等

简单说就是糅合各种语言,集大成的山寨语法
另外我没把上面这些为什么这么做的好处写出来,要写估计又是一大堆了,有可能,我打算尽快着手实现
2011-03-13 18:34:42 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
@est 部署问题啊。。。
如果那么搞的话,和直接编译成jvm或者bean或者neko或者像hiphop那样没区别了

动机只是因为php太难写,而要代码生成器,生成的还是php
2011-03-13 18:18:43 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
今天把php-snow看了一下,它用Python Lex-Yacc的解释器,还可以把现有的php转换回去
虽然很多想法和我相似,但是感觉它精简过头了,例如用fn而不是def,用pri而不是print,不太符合日常期望,而且oop和fp也没有针对性改进
2011-03-12 16:00:43 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
天啊,我找到这个:
http://code.google.com/p/php-snow/
语法非常简洁,静态类型,内牛满面,至少和我的想法有80%的相似
重新考虑是否要自己造一个。。。
2011-03-12 15:25:01 +08:00
回复了 aligo 创建的主题 PHP 来造个php代码生成器吧,实在太难写了
@huangz python、ruby、groovy、scala、node.js、fantom、erlang、reia什么的时髦的语言,不敢说精通,我大概都折腾过一点吧(我不知道我这种折腾的态度对不对),然后又被迫回头
现在php仍然是主流,我也没觉得php有多么糟糕,只是觉得写php应该更容易更轻松一些才是
做着做着就没有然后了,这也是我担心的事情的XD
@harryxu 恩,我了解haxe,准确的说我那些关于静态类型的想法就是来自于它,去掉$的想法就是来自于neko
1 ... 11  12  13  14  15  16  17  18  19  20 ... 26  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5403 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 08:19 · PVG 16:19 · LAX 00:19 · JFK 03:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.