Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
@piecehealth
Member
NO. 6826 / 2013-04-23

[email protected]
GOAT
上海
5 Topics / 286 Replies
14 Followers
6 Following
40 Favorites
No GitHub.
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • Ruby is Not Even Funny at December 12, 2016

    这个是网站黑某样东西的段子合集吧,连观点都算不上,怎么谈合理? 看 Groovy 章节笑啦

    This file says it all.

  • 求解 singleton_class, singleton_methods 的深入问题 at December 01, 2016

    #5 楼 @breeze 你 Class.new 一个 A.singleton_class 看看

  • 求解 singleton_class, singleton_methods 的深入问题 at December 01, 2016

    理解“类”也是一个对象是关键

    class A; end
    等价于
    A = Class.new # 看到了么?创建一个“类”跟创建一个对象 ( a = A.new ) 是一样的
    
  • Elixir 会成为明日之星么?似乎是 at November 29, 2016

    我也想过类似的问题:

    • 是不是好的东西就能流行?不一定
    • 是不是我喜欢的东西就是好的东西?不一定
    • 我会不会花时间精力在一个不一定会流行但是我喜欢的东西上?会
  • 周末到了,来段代码压压惊 at November 27, 2016

    Fixtures 是段子频发区

  • 学习 Elixir 有什么新思路么? at November 25, 2016

    #4 楼 @chenge Erlang 里不可能修改 x 的值 你所谓修改 x 的值,是指修改 x 的 state,函数编程的特点就是没有 state。

    比如面向对象编程的话,多次调用 person.talk 方法,结果会根据 person 的 state 改变;函数是编程不存在 state,调用一个方法,参数相同,结果永远相同(除非生成随机数这类的特例)这也是所谓的 no side-effects,总之不要带着用面向对象编程既定的思路来看函数式编程。

  • 学习 Elixir 有什么新思路么? at November 25, 2016

    Elixir 里的等号不是赋值,是 pattern match,programming elixir 里讲等号那章的标题就是

    Assignment: I Do Not Think It Means What You Think It Means.”

    一句话讲不明白,建议自己看看

    Immutable 在 Erlang 里面比较明显

    1> X = 1.
    1
    2> X = 2.
    ** exception error: no match of right hand side value 2
    

    就是一个“变量”不能被重复赋值,Elixir 变量可以重复赋值,但是底层是做了一点小封装吧。

  • Rails 应用在架构设计上的不足 at November 17, 2016

    我很乐意承认 Rails 可能会存在一些问题,不过这个作者的论点有点断章取义了

    比如 DRY

    因为 DRY = Abstraction
    并且 Duplication > Wrong Abstraction
    所以 Duplication > DRY
    

    丝毫不考虑Right Abstraction的情况

    再说 KISS 他说的一大堆如果建立在 Rails 经常出现莫名其妙不可调试的错误,且 Rails core team 水平不高的情况下,不过我认为这不符合现实。

    再看这个网站的首页 slogan

    The goal of this project is to help developers stop suffering while they are working with Ruby on Rails

    如果把他的反对 Rails 的地方都去掉然后再来用 Rails,嗯,大家可以想象一下。

  • 小菜鸟刷 LeetCode,第一道题就栽了。不过我怀疑是 LeetCode 解释器的问题 at October 27, 2016

    把你puts那句去掉试试

  • 社区百态 at October 24, 2016

    楼主总想搞个大新闻

  • 求教,不知道这个语句有没有更简便的写法呢,看着太丑了。 at October 15, 2016

    Rails 5 以上可以

    Plan
      .where(start_time: start_at.. end_at).or
      .where(end_time: start_at..end_at).or
    # blablabla
    
  • Rails 4 中,如何对 Active Record 两个结果集取并集? at October 11, 2016

    用OR的场景仅限于两个结果集都来自同样的超集,比如同一张表,或者同一个通过JOIN获得的结果集,这种情况其实就不是取并集了。 如果两个结果集来自不同的超集,这种情况才叫取并集,要用UNION ALL。

    比如想得到对一本书或一部电影感兴趣的人,可以book.fans UNION ALL film.fans,用OR实现的话就困难一些了

  • Rails 4 中,如何对 Active Record 两个结果集取并集? at October 10, 2016

    假设你的 model 是User

    data_set1 = xxx.users
    data_set2 = yyy.users
    User.from("(#{data_set1.to_sql} UNION ALL #{data_set2.to_sql}) as users")
    
  • 全栈营感想 at September 28, 2016

    哈哈,我来提个新观点搅搅局: 管理员没有收各位会员的钱,没有义务客观公正,诸位管理员不要被道德绑架。 运营社区本来就是费精力的事情,诸位没有成本的质疑,对管理员是一种伤害。 退一亿步讲,就算管理员收好处了,说明社区有价值,管理员多年以来无私的付出得到了认可。 强烈建议推出收费质疑功能,你先来质疑个 10 块钱的。

  • 隔壁 #RubyKaigi 正在时 at September 08, 2016

    看到 ErRuby ,求大神点评

  • Elixir 官网 Guides 全部中文翻译 at August 07, 2016

    👍 小建议:有些名词不翻比翻译好

  • [求助] 关于 ActionCable 中 stream_from stream_for 函数的作用 at August 06, 2016

    http://edgeapi.rubyonrails.org/classes/ActionCable/Server/Broadcasting.html

  • [求助] 关于 ActionCable 中 stream_from stream_for 函数的作用 at August 06, 2016

    stream_for第一个参数是 model, stream_from第一个参数是 channel 的名字

  • 希望集成一个简单的静态服务器,有什么好推荐? at June 13, 2016

    ruby -run -e httpd . -p 8000

  • 如何访问 @c at June 02, 2016

    https://ruby-china.org/topics/29971

  • Ruby 的实例变量的 scope at May 11, 2016
    class A
      @i = "hi"
      puts "此时self是#{self}"
      def say
        puts "此时self是#{self}, A的一个实例"
        puts "#{@i}"
      end
    
    end
    
    ins = A.new
    ins.say
    

    两个@i不是同一个东西,def会打开新的作用域。 def里面的@i好理解,就是 A 的每一个实例的实例变量。 def外面的@i,首先要知道 A 是 Class 的一个实例

    ins.class # A
    A.class   # Class
    

    一个实例自然可以拥有自己的实例变量

  • Ruby 的实例变量的 scope at May 10, 2016
    A.instance_variable_get :@i
    A.instance_eval { @i }
    A.class_eval { @i }
    
  • 元编程代码的解释 at April 28, 2016

    来人肉运行一下脚本:

    each_setup do |setup|
      setup.call
    end
    

    调用方法each_setup,参数 (即def each_setup(&block)中的block) 是proc { |setup| setup.call }

    然后方法实际运行等同于

    block.call proc {puts "one"}
    block.call proc {puts "two"}
    

    再写直白一点

    (proc {|setup| setup.call}).call(proc {puts "one"})
    (proc {|setup| setup.call}).call(proc {puts "two"})
    

    再往后就看 ruby block 相关的文章吧

  • 用 3 行写一个漂亮点的 表达含义 “我开心就好” 的代码 at April 19, 2016
    me = People.new
    me.singleton_class.class_eval do
      def happy?; true; end
    end
    
  • 这个怎么玩儿? at April 11, 2016
    def to_str hash
      strs = []
      hash.each do |key, value|
        if value.is_a? Hash
          strs += to_str(value).map {|s| "#{key}_#{s}"}
        else
          strs << "#{key}_#{value}"
        end
      end
      strs
    end
    
  • Java 打印镂空的菱形,图形 at April 05, 2016

    送个 ruby 版本

    def print_lingxing line_num
      raise "朕不伺候偶数" if line_num.even?
      line_num.times do |i|
        if i < line_num / 2
          puts "*".rjust(line_num / 2 - i + 1) + "*".rjust(i * 2 + 1)[1..-1]
        else
          puts "*".rjust(i + 1 - line_num / 2) + "*".rjust((line_num - i) * 2 - 1)[1..-1]
        end
      end
    end
    
    print_lingxing 9
    
  • Ruby Array#index 方法如何从某个位置开始查找 at February 27, 2016

    arr[i..-1].index x

  • 点击 button 运行某 Ruby 方法 at February 03, 2016
    1. 点击 button 发一个请求
    2. controller 处理请求,执行 @uptime = `uptime`,并 render view
    3. view 展示@uptime
    4. (可选) 请求换成 ajax 方式
    5. 多看一些 web 开发基础知识,不限于 rails
  • 现在想做一个聊天室的页面,但是没有思路,请教下大家 at January 14, 2016

    #14 楼 @ghn645568344 https://github.com/rails/rails gem install rails --pre

  • 现在想做一个聊天室的页面,但是没有思路,请教下大家 at January 13, 2016

    https://ruby-china.org/topics/28480

  • Prev
  • 1
  • 2
  • …
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English