Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
ikkiuchi
@zhandao
会员
第 32523 位会员 / 2017-08-06

0 篇帖子 / 82 条回帖
1 关注者
18 正在关注
13 收藏
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • Ruby 怎么大段跨行使用字符串常量 at 2017年12月23日

    https://github.com/bbatsov/ruby-style-guide#heredoc-delimiters

  • AES 加密解密算法求教,Java 128 位 AES/ECB/PKCS5Padding ,始终对不上 at 2017年12月22日

    道友?

  • 这个弱鸡的换行问题 at 2017年12月11日
    keys = %i[begin_integral end_integral] # ...
    params.values_at(*keys).any?(&:present?)
    

    以及如果下面这样也可以的话,更短:

    keys = params.keys.grep(/begin|end|site_sn/)
    params.values_at(*keys).any?(&:present?)
    
  • 如何流程图表示下面的算法? at 2017年11月20日

    为什么不先搜索一下呢?
    另外,这是「Guard Clause」,减少嵌套层次的一种重构方法,不是说把 if 写在同一行就简洁漂亮了...

    return number if number < 2 
    
  • 更改配置文件后 (application.yml) 需重启电脑才能生效? at 2017年11月15日

    😂 凡是表现和代码不一致的,多半是 spring 一类导致的

  • 部署失败-- bundle: command not found at 2017年11月14日

    试一下

    task deploy: :remote_environment do
    #
    end
    
  • 性能优化案例分析之二:时间区域查询的性能优化 at 2017年11月14日

    👍 👍 👍

  • 你好,我是 PORO at 2017年11月11日

    https://github.com/markets/awesome-ruby#abstraction

  • Ruby China 生日快乐! at 2017年10月28日

    生日快乐🎂 🎂

  • 如何配置 Ruby 的 Web 服务器 at 2017年10月16日

    什么是「配置」?

  • 宇宙社会学:生存是文明的第一需要 at 2017年10月09日

    Oh no ...

  • 怎么做 Token Authentication? at 2017年10月04日

    是否可以在 payload 加一个字段,放与密码相关的哈希,当用户重置密码后,之前的 token 就失效了。也不需要持久化 token。

  • 怎么做 Token Authentication? at 2017年10月03日

    http://www.jianshu.com/p/56467f890516

  • [译] (上) 高级元编程指南:创建一个 Ruby DSL at 2017年09月07日

    我觉得也可行,简单的想法是在 setter 写入值的时候,按照前面设置的 @sign 实例变量的值存成不同名的实例变量,比如 @foo_1 和 @foo_2,分别是 sign 1 和 2 的配置值。大概这样:

    config_class = Class.new do
      attrs.each do |attr|
        define_method attr do
          attr.eql?(:sign) ? @sign : instance_variable_get("@#{attr}_#{@sign}")
        end
        define_method "#{attr}=" do |val|
          attr.eql?(:sign) ? (@sign = val) : instance_variable_set("@#{attr}_#{@sign}", val)
        end
      end
    

    配置的时候就可以:

    config.sign = '1'
    config.foo = 'foo1'
    config.bar = 'bar1'
    
    config.sign = '2'
    config.foo = 'foo2'
    config.bar = 'bar2' 
    

    使用:

    MyConfig.config.sign = '1'
    MyConfig.config.foo # => 'foo1'
    

    手写的这一段,还没试过,可以参考一下 ... 不过我是觉得上面的 MyConfig.config_a 的用法更好,读某一套配置只需要一行。 再多写一点,可以继续把 sign 方法的名字可配置化,而不是硬编码。

  • [译] (上) 高级元编程指南:创建一个 Ruby DSL at 2017年09月06日

    这不都是同名的 key 吗,不知道你的 yml 文件是怎么配置?

  • [译] (上) 高级元编程指南:创建一个 Ruby DSL at 2017年09月06日

    「多套配置」是指:Cls.config_a.foo; Cls.config_b.foo?如果是这个意思,那么我粗糙地实现了一下:

    # configurable.rb
    module Configurable
      module Enable
        cattr_accessor :current_config
    
        def method_missing(method, *args)
          cattr_accessor method
          define_singleton_method method do
            self.current_config = method
    
            config = instance_variable_get("@#{current_config}_config")
            config.nil? ? self : config
          end
          send method
        end
      end
    
      def self.with(*attrs)
        # 使用配置属性定义匿名类
        config_class = Class.new do
          attr_accessor *attrs
        end
    
        # 为可混入的类方法定义匿名模块
        class_methods = Module.new do
          define_method :config do
            config_var = "@#{current_config}_config"
            instance_variable_set(config_var, config_class.new) if instance_variable_get(config_var).nil?
            instance_variable_get(config_var)
          end
    
          def configure
            yield config
          end
        end
    
        # 创建并返回新的模块
        Module.new do
          singleton_class.send :define_method, :included do |host_class|
            host_class.extend class_methods
          end
        end
      end
    
    end
    
    # my_config.rb
    class MyConfig
      extend Configurable::Enable
      include Configurable.with :foo
    end
    
    # Usage
    MyConfig.config_a.configure do |config|
      config.foo = 'bar'
    end
    MyConfig.config_b.configure do |config|
      config.foo = 'foo'
    end
    
    puts MyConfig.config_a.foo
    puts MyConfig.config_b.foo
    
  • 上一页
  • 1
  • 2
  • 3
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English