Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
zhouguangming
@zgm
高级会员
第 115 位会员 / 2011-11-17

ctrip.com
上海
14 篇帖子 / 1356 条回帖
37 关注者
0 正在关注
0 收藏
GitHub Public Repos
  • OpenHands 0

    🙌 OpenHands: Code Less, Make More

  • spec 0

    CloudEvents Specification

  • rails 0

    Ruby on Rails

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • ruby unbind 方法的使用场景 at 2013年06月25日

    #9 楼 @jjym 你说说 filber 的场景呗。我知道你知道这个。我了解的好像只有 Enumerable 的 next 用了 filber,不太清楚其他的。

  • ruby unbind 方法的使用场景 at 2013年06月25日

    #9 楼 @jjym block 的用法是为了 Sinatra 的 DSL 特性,这个很多软件都这么写。

    但是 sinatra 内部又把这个 block 实际上转换成一个 unbound_method, 然后每次请求 绑定在 当前的 app 上面。

    所以我说是为了利用上下文。不是性能。而支持 DSL 语法是 block 做的,与 unbound_method 关系不大。

    # https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L869
    
    # Rack call interface.
    def call(env)
      dup.call!(env)
    end
    
    # https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L974
    
    def process_route(pattern, keys, conditions, block = nil, values = [])
      route = @request.path_info
      route = '/' if route.empty? and not settings.empty_path_info?
      return unless match = pattern.match(route)
      values += match.captures.to_a.map { |v| force_encoding URI.unescape(v) if v }
    
      if values.any?
        original, @params = params, params.merge('splat' => [], 'captures' => values)         keys.zip(values) { |k,v| Array === @params[k] ? @params[k] << v : @params[k] = v if v }
      end
    
      catch(:pass) do
        conditions.each { |c| throw :pass if c.bind(self).call == false }
        block ? block[self, values] : yield(self, values)
      end
    ensure
      @params = original if original
    end
    

    如果不用这个方式,这里该怎么处理?

  • ruby unbind 方法的使用场景 at 2013年06月25日

    #7 楼 @jjym 没太懂,用block的话self也有问题,也没看懂 支持 Sinatra 语法是什么意思。

  • ruby unbind 方法的使用场景 at 2013年06月25日

    #3 楼 @iBachue #4 楼 @jjym #5 楼 @meeasyhappy

    Sinatra 用这个是为了 call 的时候绑定当前 app 对象的上下文啊。跟效率和支持语法都没关系吧。他每一次 request 都会 dup 一个 app。

    @luikore @Saito

  • 异步事件 at 2013年06月25日

    https://github.com/resque/resque

  • 异步事件 at 2013年06月25日

    https://github.com/collectiveidea/delayed_job

  • ruby unbind 方法的使用场景 at 2013年06月25日

    #1 楼 @jjym 👍

  • 如何插入一个 Middleware 在指定位置? at 2013年06月25日

    #9 楼 @kenshin54 文档写的都是普通需求,高级需求要看源码甚至要 hack 了。 一般文档不会把所有的功能都写出来,因为有些隐形功能仅仅是程序员写的时候为了易扩展,根本就没打算给别人用。

  • 複製現有數據後修改某些值後存檔 at 2013年06月25日

    这个方法就挺好,其他的估计没这么好。

  • Ruby 开发收藏 at 2013年06月25日

    楼主怎么也想不到帖子会变成这样,^_^

  • 如何插入一个 Middleware 在指定位置? at 2013年06月25日

    #6 楼 @kenshin54 insert_before 方法可以传入一个 index,不一定就是 middleware 名字,比如 Mytest::Application.config.middleware.insert_before 0, MyMiddleware。

  • 如何插入一个 Middleware 在指定位置? at 2013年06月25日

    直接改 config.middleware 的数组行么?我看到 这里 有一个 insert 方法,有一个 index 参数。不知道这个行不行,没试过,不负责任猜测。

  • 深入挖掘 ruby 程序员的价值 at 2013年06月23日

    #21 楼 @blacktulip 最讨厌说呵呵的人了。呵呵。

  • 深入挖掘 ruby 程序员的价值 at 2013年06月23日

    学会一个工具本来就没什么了不起的。

  • 代码执行顺序的问题 at 2013年06月23日

    self 不同。

  • 个人站点建成。。。80% at 2013年06月21日

    除了 #5 楼 @chinakr 提供的我们自己论坛的,thoughtbot 也有一个 guide,链接你自己搜一下。既然代码开源了,还是写好看点比较好,养成习惯,对你没坏处。

  • 个人站点建成。。。80% at 2013年06月21日

    别的不说了,代码风格很成问题。

  • [手册更新中] 异步小轮子 nyara at 2013年06月20日

    #9 楼 @lgn21st 最后的'呵呵'简直画龙点睛。

  • 松本行弘《代码的未来》试读 at 2013年06月20日

    #7 楼 @linlis 我知道,我的意思是,假如要是一本很厚的书全部放在 简书,那是不是你们人工敲 markdown 录进去?

  • 松本行弘《代码的未来》试读 at 2013年06月20日

    #3 楼 @xmonkeycn 我本来也以为是个分享到新浪微博之类的东西。

    @linlis 要是整本书都放上去,是不是要花些时间搞 markdown 的排版呢?

  • 松本行弘《代码的未来》试读 at 2013年06月20日

    #1 楼 @xmonkeycn 可以啊,左边有个工具。

    我觉得非常赞! 👍

  • 开发模式下,修改文件,浏览器下不生效 at 2013年06月20日

    建议 lz 搞清楚 rails reload 的原理,然后慢慢排错,这么猜和尝试意义不大。比如 @iBachue 提到的 ActiveSupport::FileUpdateChecker。

    我也希望能知道你的问题所在。

  • [官方声称是 bug 将会修正] MySQL 正式转为闭源软件,感谢 Oracle ,感谢 CCTV at 2013年06月19日

    真难过,我最熟悉的 DB 啊。

  • 寻找具有创业家潜力的技术伙伴 at 2013年06月19日

    #48 楼 @karmue 2、3 个小时。牛 👍

  • 都来 show 一下自己的女朋友或者老婆吧! at 2013年06月18日

  • Teahour.fm 19 期,和 @flyerhzm 还有 @xdite 聊聊 RedDotRubyConf 之行 at 2013年06月17日

    不带地址的行为也要谴责。

  • 上一页
  • 1
  • 2
  • …
  • 21
  • 22
  • 23
  • 24
  • 25
  • …
  • 44
  • 45
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English