• 谢谢

    我用hash = {}在做leecode上一个题目提交遇到错误了,然后换了set=Set.new 提交通过了。让我以为Set使用的是和Hash不同的结构,才问了最初的问题。看了你们的回复,我又用 hash = Hash.new 代替hash = {} ,提交就通过了。 是否hash = {} 和hash = Hash.new 背后是不同的?

  • 多字段排序怎么写 at 2019年03月13日

    谢谢

  • 多字段排序怎么写 at 2019年03月09日

    arrs.sort { |arr1, arr2| (arr1.first <=> arr2.first) + (arr2.last <=> arr1.last) } 这种方式不行

  • 多字段排序怎么写 at 2019年03月09日

    谢谢!你是怎么知道这个用法的。

  • irb(main):516:0> a=[0,1,2,3,4,5,6]
    => [0, 1, 2, 3, 4, 5, 6]
    irb(main):517:0> b=[1,1,1,2,2]
    => [1, 1, 1, 2, 2]
    irb(main):518:0> a[3,2] + b[3,2]
    => [3, 4, 2, 2]                                #**********想要的a的元素
    irb(main):519:0> a.slice!(3,2)
    => [3, 4]
    irb(main):520:0> a.push(*b[3,2])
    => [0, 1, 2, 5, 6, 2, 2]
    irb(main):521:0> a
    => [0, 1, 2, 5, 6, 2, 2]                     #***********a的元素与想要的[3, 4, 2, 2]  不同
    

    如上,两行注释 不等呀!

    a.slice!(n,m)是在a中删除元素[n,m], 不是使得a变为原a的[n,m]

  • a.slice!(1..-1) a.push(*b[0,1])

    这是我用的方法, 但要做 a[n,m] + b[n,m] 就比较麻烦

  • ruby 没有 do while 语句吗? at 2019年02月14日
    begin
            s += (cn % 2).to_s
            cn /= 2
    end while cn > 0
    s.reverse
    

    这是一段将整数cn转换为二进制字符串的代码, 若写成 while cn >= 0 *** end 的形式 那么当cn==0时会无限循环。如果 条件改成 while cn > 0 那么对于整数0 不能执行块中的代码,将其转换二进制字符串了,如果将整数0 做单独处理,又显得累赘了。

  • require 路径问题 at 2019年02月10日

    可能在$LOAD_PATH中添加了当前路径 '.'

  • require 路径问题 at 2019年02月10日

    谢谢!

    ttps://www.youtube.com/watch?v=VbYW92tRiR4&list=PLrre1E9QE93-XJq1sSHjN2UYm22jB2Grp&index=21 但他为什直接写 require 'file' 程序能正常运行

  • 谢谢!