• 长期用 ruby 的 creek 和 fast_excel 两个 gem 包处理 excel,感觉很方便

  • 这个配图怎么像中文编程语言 - 草泥马语言的 logo

  • 终于在 Leetcode 美国网站上找到了 Ruby 可通过解,纠结了这么久,果然在世界范围内找高人还是有

    def maximum_removals(s, t, a)
      s, t = [s, t].map! { _1.each_char.map(&:ord) }
      r, iz, jz = 0, s.size, t.size
      (1..[iz - jz, a.size].min).bsearch do |k|
        c = s.clone
        (0...k).each { c[a[_1]] = 0 }
        i = j = 0
        while j < jz
          i += 1 while i < iz && c[i] != t[j]
          break if i == iz
          i += 1
          j += 1
        end
        j == jz ? (r = k if k > r; 1) : -1
      end
      r
    end
    
  • Programming Ruby 出新版了 at 2023年10月04日

    美亚已上架,2024 年 1 月出版,65 美元

  • 已删除,抱歉

  • 对不起😂 😂 ,我以为这是你们的招人策略,第一步解暗号,像小说里的一样。

  • window.ethereum.send 是一个不用调用 web3.js 那样的高阶库就可以向以太坊节点发送原始 json-rpc 请求的低阶方法。这个方法适用于在无法使用像 web3.js 那样的高阶库或其它库但又必须和以太坊节点交互的场景。

  • 2008 年,matz 自己写的 The Ruby programming language,涵盖 1.8,1.9 的版本,中华商务进出口图书专营店还在卖,已经到了 115RMB 一本了,估计书都发黄了。

  • 新人学 Ruby at 2023年05月31日

    我学习 Ruby 是出于执念。我在 leetcode 上用 Ruby 刷题是出于预防老年痴呆的目的,刷了 600 多道。Ruby 这种 high level 的语法很适合我这种业余爱好者,像 go 语言这种刷题时还得自己写 max 函数的对我来说太难了。尽管每次用 Ruby 解题写的代码都很 c-style,但我自己开心就行。

  • 不喜欢 Progmatic bookshelf 吗?Programming Ruby 就出自这里哦

  • Programming Ruby 出新版了 at 2023年04月02日

    等等吧,上面也说了,9 月才有纸质书可买

  • 你的代码缩进风格怎么像是在写 Python

  • 才发现循环赋值得到 hash,从一次到最后一次无非也就是 n/2,n/4,n/8……,最后一次判定时,在最坏的情况下,最后一次 hash.size 只有 1,与下面那个线性时间判定是不是子串的循环来说可以忽略不计了,最后也还是 O(n),然后与二分相乘也是 O(nlogn) ,我的努力方向不对,即使每次得到 hash 的耗时是 O(1),最后也还是 O(nlogn),还是需要更牛的算法。我还是太菜了。感谢楼主分享此题,学习 Ruby 果然很快乐,正如 matz 所说,写 Ruby 就像是在写伪代码。

  • 不,这题是 Ruby 自己慢的原因,官方给的题解都是 NLogN 复杂度,其它语言都 OK,唯独 Ruby 过不去。

  • 我不是程序员,但我尝试了下,也是卡在同样的位置。 这是我的代码。我一直想能不能先从 removable 得到一个 hash 后,然后使用 hash 的 slice API 来用 O(1)的时间复杂度得到需要部分的键值数据,貌似不行。 我把你这个循环赋值得到 hash 的代码改成 (removable[0, mid]).to_h {|item| [item,true]} 貌似也没啥作用。

    def maximum_removals(s, p, removable)
      @m = s.length
      @n = p.length
      left = 0
      right = [removable.length, @m - @n].min
      while left < right
        mid = (right - left + 1) / 2 + left
        temp = (removable[0, mid]).to_h {|item| [item,true]}
        if judge(s, p, temp)
          left = mid
        else
          right = mid - 1
        end
      end
      return left
    end
    
    def judge(s, p, r)
      j = 0
      i = 0
      while i < @m
        unless r[i]
          if s[i] == p[j]
            j += 1
            if j == @n
              return true
            end
          end
        end
        i += 1
      end
      return false
    end
    
  • Ruby 抓疫情数据 at 2020年03月11日

    👍 👍 👍 👍

  • Ruby 抓疫情数据 at 2020年03月11日

    👍 👍 👍

  • 问题已解决,把填的密码改为网易第三方授权码即可,谢谢大家了,非常感谢。

  • Ruby 抓疫情数据 at 2020年03月06日

    你尝试用 powershell, 假设这个 ruby 程序为 test.rb, 你在终端里输入 ruby test.rb >> output.txt, 你打开看下那个 txt 试试

  • Ruby 抓疫情数据 at 2020年03月06日

    哈哈,Ruby 和 Python 真适合没有编程基础的初学者,写玩具代码首推这两个。这是 Python 查看中国疫情的代码。在家自学的。

    import json
    import requests
    
    url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback'
    res = requests.get(url).json()['data']
    data = json.loads(res)
    
    def showupdatetime(data):
        print(str(data['lastUpdateTime']))
    
    def showchina(data):
        print ("中国累计确诊:" + str(data['chinaTotal']['confirm']) + "例,死亡:" + str(data['chinaTotal']['dead']) + "例,治愈:" + str(data['chinaTotal']['heal']) + "例。")
        print ("中国今日新增确诊:"  + str(data['chinaAdd']['confirm']) + "例,死亡:" + str(data['chinaAdd']['dead']) + "例,治愈:" + str(data['chinaAdd']['heal']) + "例。")
    
    def showeverycity(data):
        list0 = data['areaTree']
        list1 = list0[0]
        list2 = list1['children']
        for province in list2:
            templist = province['children']
            print(province['name'] + "详情:")
            for item in templist:
                print(str(item['name']) + "今日新增确诊:" + str(item['today']['confirm']) + "例,累计确诊:" + str(item['total']['confirm']) + "例,死亡:"+str(item['total']['dead']) + "例,治愈:"+str(item['total']['heal'])+"例;")
    
    
    showupdatetime(data)
    showchina(data)
    showeverycity(data)
    
  • enable_ssl = false 时,填 port 为 110 enable_ssl = true 时,填 port = 995 两种都试了

  • 谢谢告知

  • 开启了的,不是这个问题,谢谢你的回复

  • 非常感谢,已经收到您的邮件了