• 可以用形参来省掉变量声明

    var test = (function(a, b){
      return {
         i: function(){
            a = 1
         },
         j: function(){
            console.log(a)
         }
      }
    })()
    

    coffeescript 没用过,在官网上试了一下,只知道下面几种方式。感觉不是那么 coffeescript

    test1 = ((a, b) -> 
      i: -> a = 1
      j: -> console.log(a)
    )()
    
    test2 = do (a = null, b = null) ->
       i: -> a = 1
       j: -> console.log(a)
    
    
    test3 = (a, b) ->
       i: -> a = 1
       j: -> console.log(a)
    
    test3 = test3()
    

    个人觉得没有必要过分追求代码的美观 a = b = null 意思明了,也没有多难看

  • #1 楼 @ruchee 我指的是将已有的代码格式化,比如说以前 css 属性全都写在一行,现在变成每个属性单独一行的格式

  • (译) 我不喜欢新哈希语法 at 2012年04月18日

    用新 hash 语法最难受的地方还是 符号 和 : 间不能有空格

  • 原本想用上这个技巧的,不过回过头来发现,简单的代码还是用继承更方便

  • #37 楼 @zhangyuan Symbol#to_proc 的行为更像 lambda,参数处理不够灵活。试着在 String 上用 Proc 定义了一个 to_proc 方法

    
    class String
      def to_proc
        Proc.new { |o, *args| o.send(self.to_sym, *args)}
      end
    end
    
    ary = [1, 2, 3].zip([3, 2, 1])
    
    p ary.map(&:+)
    # => in `+': wrong number of arguments(0 for 1) (ArgumentError)
    p ary.map(&'+')
    # =>[4, 4, 4]
    
    

    也可以定义一个 to_proc 类方法 :)

    
    class Hello
      def self.to_proc
        lambda { |w| new(w).say }
      end
    
      def initialize(word)
        @word = word
      end
    
      def say
        puts "Hello #{@word}!"
      end
    
    end
    
    %w(LZ LS LX).each(&Hello)
    
    # =>
    # Hello LZ!
    # Hello LS!
    # Hello LX!
    
    
    
  • #4 楼 @camel http://www.google.com/reader/atom/feed/http://rubyer.me/feed?n=200 Google Reader 的 API, 可能需要登录 Google 帐号才能访问

  • #8 楼 @kevinhua 这是挖坟啊 #5 楼 @mvj3 还是 pry 好用,就是慢了点

  • 推荐 Ruby 入门书籍啦 at 2012年04月05日

    我发现这其实是两本书的时候已经把《Ruby 编程语言》看完了 :(

  • 大家外语能力如何? at 2012年03月30日

    少壮不努力,老大学英语。

    英语上了高中以后就丢了,现在除了编程相关的单词外什么都不懂,阅读基本都靠词典,水平大概和 Google 翻译差不多。 日语从学 50 音开始算起有 5 年了,还是什么级别都没有。玩穿过几款带声优的文字冒险游戏(你懂的),不深奥的内容能够读懂大意。日语有声优和汉字的情况下比较容易懂,日常的会话的发音和纯假名(如一些版本的 Pokemon)就让人头疼了。

    好在大部分技术文档只需要理解大概意思再看看源码就过去了。要是遇到要能完全看懂原文才能理解的概念,或者需要听说的情况,那就悲剧了。

    对日语本身还是有些兴趣的,一直难以割舍,英语则是最实用的工具,不得不重新捡起来。原本就有计划学好编程做个工具帮助自己学这两门语言。不过在 ruby 和 rails 上面卡了快半年,这段时间都没怎么认真读过。

  • 日本女人的 Rubyist at 2012年03月30日

    果然 ruby 社区里懂日语的比较多啊...

  • 现在的首页基本没什么变化,直接忽视了。如果能够只显示没看过或有更新的帖子多好

  • 试试检查 Dir.glob('*') 是否有内容

    @length = @files.length
    
    
    <%= @length %>
    
    

    或者

    <% if @files.empty? %>
        files is empty
    <% end %>
    
    
  • 敏捷第三版每页旁边的数字应该就是原书页码,很多中译本都是这么处理的

  • 一个函数返回多个值 at 2012年03月14日

    这中语法还是交换变量的时候最爽

    x = 1
    y = 2
    x, y = y, x 
    
    
  • 工作后一年半,从 js 开始,中间试过三个月 php,发现 ruby 后果断放弃,没用过静态类型语言

  • 92 看到@huacnlee发的 twitter 时注册的

  • 《Ruby 元编程》正在预售 at 2012年02月13日

    #19 楼 @fresh_fish #20 楼 @TsingHan 我在武汉啊。大一点的书店应该都有吧

  • 《Ruby 元编程》正在预售 at 2012年02月12日

    居然不是 amazon 发货,算上运费和原价差不多了。这样还不如直接到书店买,公司到书店只要几分钟..

  • 《Ruby 元编程》正在预售 at 2012年02月12日

    这书今天去书店时看到了。是当当更新慢了吧,amazon 都出了 http://www.amazon.cn/Ruby%E5%85%83%E7%BC%96%E7%A8%8B-Paolo-Perrotta/dp/B0073APSCK/ref=sr_1_1?ie=UTF8&qid=1329057021&sr=8-1

  • js 的强制类型转换让人头昏 Array(n).join() 是个不错的技巧 :)

  • #18 楼 @huobazi mini 只有一台主机,我现在还是直接用老机器上的设备,准备以后再慢慢更新

  • 今天 mac mini 刚好送到,终于可以开始玩 rails 了,有没有适合零 linux 经验的 mac 学习资料?

  • 用户名从首字母开始匹配是不是更好些?现在匹配的结果太多了,而且不符合直觉

  • 提问要有方法 at 2012年01月10日

    问题若是没有总结和整理还是会经常出现。普通论坛通常都会有个置顶的索引帖子之类的,办法很简单,也能起到一定作用。作为一个技术社区,我总觉想可以找到更好方式来解决这些问题。很多帖子都讲过如何学习 ruby 和 rails。我也深有同感,真正要提高编程水平,这些都是必不可少的。但这并没有解决多少的实际问题,前人掉进去的坑,后人也一样会掉进去。大家学习 ruby/rails 的目的不尽相同,又有多少人会按部就班的走下去呢?

    对 ruby 初学者来说语言是一大障碍。可能大家 E 文比较好,所以没有太大的感受,但要解决初学者的很多问题,还是中文资料最好。相信包括我在内的很多人 E 文都不怎样,先不说遇到问题是不知道用什么关键字搜索,就算找到有了也不一定完全能搞懂。很可能花费这么大的精力,只是为了解决开发过程中的一个小问题,有很强的挫败感,使人容易丧失继续前进的动力。而在国内真正有在 ruby 博客的大概没多少人,对初学者有用的就更少了,这一点和前端差别很大。如果 rubyist 闲暇的时候能够写些 ruby/rails 的博客,相信现在这种状况也会好上不少。

  • 提问要有方法 at 2012年01月09日

    虽然经常上 rubychina,但感觉除了了解到流行和趋势外,社区对新手的帮助不是特别大

  • irb 中不打印返回值

    conf.echo = false
    

    在 Dir.glob 中匹配方括号

    Dir.glob('[\[]ruby[\]]') #=> "[ruby]"
    
  • 亲,CSDN 喊你改密码! at 2011年12月22日

    把这个统计倒过来,密码最长最复杂的帐号应该都比较有价值

  • 迅雷下不了。悲剧,估计得把国内的帐号改个遍了