世界上只有两种编程语言:一种是整天被人喷的语言,一种是没有人用的语言。
@hooopo 我顶!
兰姆达
别用它了。7 年都不更新了。 用 Sublime Text 或 Vim 不是更好?
有干货的帖子向来是受欢迎的。 有不同的看法进行讨论也很正常,平常心讨论就 OK 了。只是某个人的情绪没控制好,对别人进行人身攻击了,这样就不对了。
期待楼主更多干货的帖子。
楼主可能误解了,如果帖子的回复里只要有干货的讨论,就很有可能会被加精。 你得出的这个结论“社区固执偏见不喜接受新事物”并不准确。
#51 楼 @astaxie #56 楼 @gihnius 有可能是对 Ruby 社区的特点了解的少,所以才会使两位产生这样的误解。其实 Ruby 社区 (也包括国外的) 是我接触到的,包容性及接纳新事物都是相当不错的社区。比如对 Node,Erlang,Clojure,Haskell,LISP,Go 都有很好的讨论,这个社区也从不盲目拒绝新事物,也很清楚各个语言是协作而不是对立的关系。
社区的一个特点是喜欢就问题直接展开讨论,基本不会拐弯抹角。而且是全带干货的讨论 (这一点很重要)。比如这个帖子,从大家的讨论中,我就学习到很多,相信其他观众也是。
接触 Ruby 社区时间长了,就会喜欢上社区的 Style. 而且是双方都受益。热烈欢迎讨论!(用平常心讨论就好)
收到了 Writings.io 的邮件才知道的这件事。 加油 @Rei !
從 325 位報名者中選出的 30 位女性學員 选择的标准是相貌吧,哈哈
既要做原系统的维护,又要做开发,还要维护硬件系统和布线?Orz 您是打算给双份薪水 ( 开发 + 网管 ) 吗?也太抠门了,连网管的职责也要开发人员去担当。 我这一直潜水的都忍不住了。 各位道友,此坑大,勿入。
非阻塞的话,用 recv_nonblock 应该可以吧。
Ruby Socket 的 recv 与 我们通常说的 Unix Socket 的 recv 行为是不同的。 Ruby Socket 的 recv 是调用 rsock_s_recvfrom 来实现。说到底,是用了 recvfrom 来实做,而不是使用 recv。 rsock_s_recvfrom 在内部调用了 rb_io_wait_readable 来处理 EAGAIN。如果 errno 是 EAGAIN,则就继续 wait 这个 fd。
while (rb_io_check_closed(fptr),
rb_thread_wait_fd(arg.fd),
(slen = BLOCKING_REGION_FD(recvfrom_blocking, &arg)) < 0) {
if (!rb_io_wait_readable(fptr->fd)) {
rb_sys_fail("recvfrom(2)");
}
if (RBASIC(str)->klass || RSTRING_LEN(str) != buflen) {
rb_raise(rb_eRuntimeError, "buffer string modified");
}
}
对 EAGAIN 的处理时在 rb_io_wait_readable 中:
int
rb_io_wait_readable(int f)
{
if (f < 0) {
rb_raise(rb_eIOError, "closed stream");
}
switch (errno) {
case EINTR:
#if defined(ERESTART)
case ERESTART:
#endif
rb_thread_check_ints();
return TRUE;
case EAGAIN:
#if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN
case EWOULDBLOCK:
#endif
rb_thread_wait_fd(f);
return TRUE;
default:
return FALSE;
}
}
基本思路,先把 阳历 转成相应的 农历,然后根据农历去查就可以了。(比如,可以先把农历相关的节日录入到数据库)
ActiveSupport 中有: Date#beginning_of_quarter Data#end_of_quarter
是否能用的上?