• 时间比较的 bug at 2013年01月24日

    和文档说的不一样才叫 bug

    $ ri DateTime.===
    ...
    Returns true if they are the same day.
    
  • 使用 RVM 安装 rails 问题 at 2013年01月24日

    可能是 rubygems 下载没成功但 rvm 以为下好了, 删除 /Users/tuliang/.rvm/src/rubygems-1.8.24/ 然后下一个 http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.zip 解压成 /Users/tuliang/.rvm/src/rubygems-1.8.24/ 再继续安装

  • \ruby china 可以直跳

  • @ 克里斯汀那 ruby -v 一样么 ?

  • #1 楼 @ywjno 中文站就只上那几个没关系... 而且可以 !baidu

  • 装最新的 xcode 就可以了,不过装完还得装 command line tools

  • @bhuztez 杭州 ruby tuesday 来讲下 prolog?

  • #57 楼 @yedingding cool! 刚发现 gravatar 也换用 "aloha" 做问候语了

  • assert_no_match 如何使用? at 2013年01月23日

    断言不匹配 意思就是如果不不匹配就出错,也就是匹配就出错

  • rmmseg-cpp 分词的问题 at 2013年01月23日

    word.force_encoding 'utf-8' ?

  • virtualbox 或者 vmware secureCRT 或者 console2?

    以前用 console2 输入不了中文,不知道现在好了没

  • Stop abusing bang method at 2013年01月22日

    遵循爱护键盘原则就可以了...

  • @igordonshaw 它和 dom/ajax 框架解决的不是一个问题...和 jquery 一起用吧,或者把 jquery 换成轻量级的bean+bonzo+reqwest

    #10 楼 @iBachue 十几年前的 js 压缩器都已经认得换行符了,不用担心 assetpipeline...

  • 就用这个了!

    @igordonshaw 其实 jquery 大部分代码都是兼容旧浏览器用的 sizzle 引擎,each 的元素顺序很坑爹,map 也删掉了,R 是collection proxyobject proxy 而不是 dom proxy

  • script/rails c -- -r/path/to/your/callback
    
  • #1 楼 @ywjno 只要还在维护,就还会有后续 patch 的

  • 一行代码整垮 irb at 2013年01月18日

    #30 楼 @jasl irb 不是什么魔法,它也是 ruby 实现的,最简单的 irb 就像这样:

    # simple irb
    
    prompt = '[0] '
    binding = Object.new.send :binding
    
    loop do
      print prompt
      prompt.succ!
      begin
        res = binding.eval gets
      rescue SystemExit
        exit
      rescue Exception
        puts $!.message
        puts $!.backtrace
      end
      puts "=> #{res.inspect}"
    end
    

    irb 里还有各种各样的功能,例如按上箭头可以把以前输入过的东西重现出来,那就需要引入 readline, 或者色彩高亮显示方法源代码,那就是 pry 里用 coderay 着色的处理。而这些功能要调用方法,或者要触发 method_missing 都不奇怪,irb 还在不断改进中,1.8 和 1.9 的实现自然很不相同,引入了不同的库,行为也会不一样...

  • 一行代码整垮 irb at 2013年01月18日

    @jasl 没什么想法...参数个数不匹配不是发生在定义方法时,而是发生在调用方法时,所以你这个不加参数的method_missing可以定义,但调不进去


    (跑题,很多人都知道的), 一行代码整垮 linux (fork bomb):

    :(){:|:&};:
    

    mac 跑这个就不会挂...

  • 真的要用 oracle ? 里面有 30 几年没修好的 bug 诶:null == ''

  • 这是怎么回事啊? at 2013年01月18日

    migration 里写了 string 吧?

    t.text :content
    

    或者报的是另一个字段的错...

  • #8 楼 @evil850209 既然业务都交给 java 服务了,就和 activerecord 没关系了吧?

  • ruby 怎么交互式输入 at 2013年01月17日

    #4 楼 @i5ting 何でもは知らないわよ、知ってることだけ

  • ruby 怎么交互式输入 at 2013年01月17日

    到需要密码的地方:

    require 'io/console'
    password = STDIN.noecho{ gets.chomp }
    

    然后通过 net/ssh 用这个 password 登录


    貌似我理解错了,lz 要的是登录后到命令行交互的界面?

    可能连 ruby 都用不着,用 key 登录,配置 ~/.ssh/config, 例如

    Host myhost
      HostName 1.2.3.4
      User app
      IdentityFile ~/my/private/key.pem
    

    然后命令行里 ssh myhost 就登录了

  • Sinatra 做的两个小应用 at 2013年01月17日

    目测慢的原因在于代码太挫...

  • 如果仅仅是连 ftp 的话,用 ruby 的 net/ftp 库就好了

    第三方软件开源的话基本都有命令行调用接口,windows 的话基本都有 ole / com 接口,ruby 里调用不难啊

  • 突然想到可以靠面试报销掉过年回家的机票...

  • 數學問題 at 2013年01月17日

    << 是 append, "a" << "b" 结果就是 "ab" rand() 是取 0 到 1 之间的随机数,这种写法就是以 rate 的几率来随机 flip 一位的,和模拟基因变异的做法差不多...

  • 數學問題 at 2013年01月17日

    #2 楼 @supremewnp 你这段程式的运算过程就和转换 2 进制是一样的,不过是逆序后的转换

    "0011111000000000".reverse.to_i 2 #=> 124
    

    其实就是求了二进制数 0000000001111100

  • 这个代表什么? at 2013年01月17日

    不是进程,应该是 32 位机器上的 lambda, 后面这个是 lambda 对象的地址,不能记录多个数据

    这个数据和用 object_id 算的地址相同:

    [1] pry(main)> l=->{}
    => #<Proc:0x007fe47494d008@(pry):1 (lambda)>
    [2] pry(main)> (l.object_id<<1).to_s 16
    => "7fe47494d008"
    

    附 object_id 的计算规则

    /*
     *                32-bit VALUE space
     *          MSB ------------------------ LSB
     *  false   00000000000000000000000000000000
     *  true    00000000000000000000000000000010
     *  nil     00000000000000000000000000000100
     *  undef   00000000000000000000000000000110
     *  symbol  ssssssssssssssssssssssss00001110
     *  object  oooooooooooooooooooooooooooooo00        = 0 (mod sizeof(RVALUE))
     *  fixnum  fffffffffffffffffffffffffffffff1
     *
     *                    object_id space
     *                                       LSB
     *  false   00000000000000000000000000000000
     *  true    00000000000000000000000000000010
     *  nil     00000000000000000000000000000100
     *  undef   00000000000000000000000000000110
     *  symbol   000SSSSSSSSSSSSSSSSSSSSSSSSSSS0        S...S % A = 4 (S...S = s...
     *  object   oooooooooooooooooooooooooooooo0        o...o % A = 0
     *  fixnum  fffffffffffffffffffffffffffffff1        bignum if required
     *
     *  where A = sizeof(RVALUE)/4
     *
     *  sizeof(RVALUE) is
     *  20 if 32-bit, double is 4-byte aligned
     *  24 if 32-bit, double is 8-byte aligned
     *  40 if 64-bit
     */
    
  • 數學問題 at 2013年01月17日

    先从 bitstring 截取一段子字符串:截取的范围是从下标为 off (16) 的字符起,到下标为 off + bits_per_param (32) 的字符前

    16...32 其实就是 bitstring 的后半段:"0000000001111100"

    然后再 reverse, 结果就是 "0011111000000000" 了