Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
Zete
@luikore
高级会员
第 2880 位会员 / 2012-07-16

55 篇帖子 / 3423 条回帖
245 关注者
6 正在关注
32 收藏
GitHub Public Repos
  • triez 140

    fast, efficient, unicode aware HAT trie with prefix / suffix support for Ruby

  • rsec 78

    Parser / Regexp Combinator For Ruby

  • regexp_optimized_union 11

    Regexp.optimized_union(word_list, regexp_options) generates optimized regexp for matching union o...

  • zscan 9

    Improved string scanner

  • stimulus-bind 9

    Enable simple data binding for stimulusjs

  • vscode-hypertab 3

    The Missing Tab Completion for VS Code

  • property-list 1

    Property list (plist) library with all formats support

  • keycap 1

    1.5u keycap for Kailh low profile switch

  • ffi-clang 0

    Ruby FFI bindings for libclang 3.4+.

  • llvm-node 0

    Node LLVM 4.0+ Bindings

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 做开发到底是 Linux 好 还是 Mac 好? at 2013年03月13日

    #112 楼 @AlphaLiu 我都是 iTerm 里用 cmd+ 左/右 跳行首/末,opt+ 左/右跳词,opt+delete 删词 (需要加一点配置)

    pageup 和 pagedown 设置来搜历史了

  • 做开发到底是 Linux 好 还是 Mac 好? at 2013年03月13日

    #110 楼 @magiclin apple 官网文档有啊 fn+ 左=home, fn+ 右=end, fn+ 上=pageup, fn+ 下=pagedown

    另外 fn + delete = del

  • Ruby 2.0 in Detail at 2013年03月13日

    #10 楼 @donnior 另外用单调函数 + 比较是没问题的

    # 单调增
    def f x
      x * 2
    end
    # 单调降
    def g x
      -x
    end
    arr.bsearch {|x| f(x) > 6 }
    arr.bsearch {|x| g(x) < -3 }
    
  • Ruby 2.0 in Detail at 2013年03月13日

    #10 楼 @donnior

    x 在 arr 中是升序的,但 x%5 不是升序的,所以二分查找的条件就不对了

    arr = [1,4,7,8,9,13,15]
    arr = arr.map{|x| [(x%5), x] }.sort
    arr.bsearch {|(x, y)| x > 3}[1]
    
  • Ruby 2.0 in Detail at 2013年03月13日

    @fsword @hooopo @i5ting @skandhas

    是要预先排好序

    查找最快还是 Hash, 但是消耗空间比较大,数组消耗的空间就小很多

    二分查找时间复杂度是 O(log(n)), 和 Java 的 TreeMap, C++ 的 std::map 一样。和 Hash 的 O(1) 相差不大了。

    另外二分查找可以用比较条件,Hash 查找只能严格匹配。而 select 要遍历全部元素,O(n) 的复杂度对于大数组 (>100k 之类的) 就显得慢了,小数组的话速度区别不大。

    二分查找因为有序性限制了两种使用模式,select 就没有限制

    模式 1 是 block 返回 true / false / nil 可以用于查找大于 / 大于等于 N 的 (最小) 值,例如查找 x >= 5:

    a.bsearch{|x| x >= 5 }
    

    模式 2 是通用的模式,block 返回 正/负/0

    可以用于查找区间内的值,例如查找 4 <= x <= 8:

    a.bsearch{|x|
      if x < 4
        1  # x 太小了, 返回正数, 告诉 bsearch 我们需要更大的
      elsif x > 8
        -1 # x 太大了, 返回负数, 告诉 bsearch 我们需要小一些的
      else
        0 # 枚举的 x 在区间内, 返回 0, 查找结束
      end
    }
    

    也可以用于查找小于 / 小于等于 N 的值,例如查找 -∞ < x < 5:

    a.bsearch{|x|
      if x >= 5
        -1
      else
        0
      end
    }
    

    模式 2 在查找范围值时返回符合条件 (block 返回 0) 的第一个结果,和值的位置有关,没有保证的... 模式 2 用 N <=> x 可以做严格匹配的查找

    和 libc 的 bsearch 相似 (man bsearch), 和 C++ 的二分查找区别比较大... C++ 的二分查找的核心是重新定义 <, 然后有 lower_bound, upper_bound 的用法...

  • 2013 年 3 月 TIOBE 编程语言排行榜,Ruby 超越 Perl at 2013年03月12日

    感觉 tiobe 经常在人为的放大波动,排名一成不变就没人看了... 背后有没有悄悄收钱也未知...

  • Twitter Bootstrap 3 要出了,各种元素全拍扁了 at 2013年03月12日

    变大了?难道也是因为开发人员视力下降...

  • 如果把 Ruby China 的回帖改成 Nested 咋样? at 2013年03月11日

    reddit 能按照时间线排序也能组织成树状的

    貌似最后都会变成可选项...

  • 做开发到底是 Linux 好 还是 Mac 好? at 2013年03月11日

    #77 楼 @zhangjinzhu 买 mac 不为别的,就为 retina 的高清终端效果...

  • RVM 安装 Ruby 2.0 (OS X 10.8) at 2013年03月11日

    #2 楼 @hpyhacking ... 无报错信息不知真相... 难道之前替换过什么东西了?

  • Teahour.fm 第 6 期发布 at 2013年03月11日

    昨晚听了两次哈哈

  • RVM 安装 Ruby 2.0 (OS X 10.8) at 2013年03月11日

    先 rvm get head 然后直接 rvm install ruby-2.0.0-p0 --docs 就可以了,新的 rvm 会调用 brew 的...

  • RubyGems 2.0.2 发布了 at 2013年03月10日

    #5 楼 @JeskTop 没遇到过这样的问题... 难道是因为服务器上的系统编码是 us-ascii ?

  • File.open+ 中文路径传值郁闷了,求助!,在线等 at 2013年03月10日

    #21 楼 @praguepp 不懂... 搞不定了

  • 做开发到底是 Linux 好 还是 Mac 好? at 2013年03月10日

    #21 楼 @aisensiy 或者 FreeBSD... linux 下面全是 gnu 的限制比较多,freebsd 做什么都可以

  • 做开发到底是 Linux 好 还是 Mac 好? at 2013年03月10日

    没 mac 的两种观点都有 有 mac 的都说 mac 好

  • File.open+ 中文路径传值郁闷了,求助!,在线等 at 2013年03月10日

    #17 楼 @praguepp 别激动啊,你都激动得结巴了 f = f.sub(":/", ":\\\\").gsub("/", "\\")

  • File.open+ 中文路径传值郁闷了,求助!,在线等 at 2013年03月10日

    #11 楼 @praguepp c: 后面 4 个反斜线就可以了,后面的 2 个就够了

  • File.open+ 中文路径传值郁闷了,求助!,在线等 at 2013年03月10日

    把 c:\\ 改成 c:\\\\

  • RubyGems 2.0.2 发布了 at 2013年03月10日

    #3 楼 @JeskTop 大概是这些文件用微软的编辑器编辑过了吧...

  • Teahour.fm 英文内容 at 2013年03月10日

    支持

  • MariaDB or PerconaDB 你选哪种来替代 MySQL? at 2013年03月10日

    综合看来,优点就是很像 mysql ?

  • 如何计算字符串? at 2013年03月10日

    如果要支持四则运算 + 括号的效果,可以参考我写的一个解析器生成器 rsec 的例子:

    https://github.com/luikore/rsec/blob/master/examples/arithmetic.rb

    treetop 是流行程度高很多的另一个解析器生成器,它的首页上就有个做四则运算的例子

  • Ruby 如何实现类似 Python, Haskell... import 的效果? at 2013年03月09日

    #2 楼 @Alexander 可以这么写:Bar0 = Foo::Bar0 ... 但是 Foo 还是引入了。如果不怕 warning 的话,可以接一个 Foo = nil ... 但这不是 Ruby 的用法... ruby module 的组织方式和想法和 python 完全不一样的

  • Ruby 如何实现类似 Python, Haskell... import 的效果? at 2013年03月09日

    假如 foo.rb 里定义了 Bar, require './foo' 就能用 Bar 了

  • 请问一下你们用什么 Readlist at 2013年03月08日

    @lgn21st pocket 可以保存 pdf 吗?一直苦恼于 instapaper 对 pdf 支持不好

  • Ruby 的对象引用让我糊涂了 at 2013年03月08日

    上面改的是实例的内容 下面改的是引用

  • 众科技巨头呼吁重视编程教育 at 2013年03月07日

    #11 楼 @bhuztez 是么... 据说数字超难念... 但是数字逐个读也能交流的...

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