小编maa*_*sha的帖子

如何在分配分支条件下沉默Rubocop警告?

我想沉默一个特定的Rubocop警告:

Assignment Branch Condition size for plot_defaults is too high. [21.05/15]

在注释行的代码中执行此操作的适当语法是什么,如:

# rubocop: disable <???>

ruby rubocop

29
推荐指数
2
解决办法
1万
查看次数

22
推荐指数
1
解决办法
6342
查看次数

如何在Ruby中修复挂起的popen3?

我使用popen3得到了意想不到的行为,我想用它来运行像工具ala这样的命令cmd < file1 > file2.以下示例挂起,因此stdout done永远不会到达.使用其他cat可能导致悬挂的工具,从而stdin done永远不会达到.我怀疑,我正在缓冲,但我该如何解决这个问题呢?

#!/usr/bin/env ruby

require 'open3'

Open3.popen3("cat") do |stdin, stdout, stderr, wait_thr|
  stdin.puts "foobar"

  puts "stdin done"

  stdout.each_line { |line| puts line }

  puts "stdout done"

  puts wait_thr.value
end

puts "all done"
Run Code Online (Sandbox Code Playgroud)

ruby popen3

14
推荐指数
3
解决办法
7654
查看次数

将文本文档导入HTML

我想知道是否有一个HTML元素允许您将文本文件合并到HTML文档中 - 这是什么<pre src="test.txt"\>

html

8
推荐指数
1
解决办法
3万
查看次数

Ruby:如何将文件拆分为给定大小的多个文件

我想将一个txt文件拆分成多个文件,其中每个文件包含不超过5Mb.我知道有这方面的工具,但我需要这个项目,并希望在Ruby中做到这一点.另外,如果可能的话,我更喜欢在块上下文中使用File.open执行此操作,但我失败了:o(

#!/usr/bin/env ruby

require 'pp'

MAX_BYTES = 5_000_000

file_num = 0
bytes    = 0

File.open("test.txt", 'r') do |data_in|
  File.open("#{file_num}.txt", 'w') do |data_out|
    data_in.each_line do |line|
      data_out.puts line

      bytes += line.length

      if bytes > MAX_BYTES
        bytes = 0
        file_num += 1
        # next file
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这项工作,但我认为它不优雅.此外,我仍然想知道是否可以在块上下文中使用File.open完成.

#!/usr/bin/env ruby

require 'pp'

MAX_BYTES = 5_000_000

file_num = 0
bytes    = 0

File.open("test.txt", 'r') do |data_in|
  data_out = File.open("#{file_num}.txt", 'w')

  data_in.each_line do |line|
    data_out = File.open("#{file_num}.txt", 'w') unless data_out.respond_to? :write
    data_out.puts …
Run Code Online (Sandbox Code Playgroud)

ruby size split file

7
推荐指数
2
解决办法
8095
查看次数

编译Ruby Inline C代码 - 解决错误

我试图让这个Ruby内联C代码http://pastie.org/2825882工作.代码在vanilla C中运行,但在这里我得到错误和警告.是什么导致这个错误?

./backtrack_inline.rb:67: error: lvalue required as unary '&' operand
Run Code Online (Sandbox Code Playgroud)

另外,为什么我会收到以下错误?

./backtrack_inline.rb:73: error: too few arguments to function 'backtrack'
Run Code Online (Sandbox Code Playgroud)

检查生成的C代码(http://pastie.org/2826036)我没有看到参数有什么问题.但我也收到以下警告:

./backtrack_inline.rb:73: warning: passing argument 1 of 'backtrack' makes integer from pointer without a cast
./backtrack_inline.rb:73: warning: passing argument 2 of 'backtrack' makes integer from pointer without a cast
./backtrack_inline.rb:73: warning: passing argument 3 of 'backtrack' makes integer from pointer without a cast
Run Code Online (Sandbox Code Playgroud)

ruby inline-code

6
推荐指数
1
解决办法
603
查看次数

如何使用jQuery使用div将JSON树呈现为嵌套HTML?

我正在寻找一种使用<div>标题中提到的嵌套来呈现JSON树的方法.以下是数据示例(树中最多有8个级别):

{
    "children": {
        "Bacteria": {
            "children":{
                "Verrucomicrobia":{
                    "children":{
                        "Methylacidiphilae":{
                            "children":{
                                "Methylacidiphilales":{
                                    "children":{},
                                    "count":2,
                                    "level":"order",
                                    "name":"Methylacidiphilales",
                                    "score":1.46
                                }
                            },
                            "count":2,
                            "level":"class",
                            "name":"Methylacidiphilae",
                            "score":1.46
                        }
                    },
                    "count":2,
                    "level":"phylum",
                    "name":"Verrucomicrobia",
                    "score":1.46
                }
            },
            "count":2,
            "level":"kingdom",
            "name":"Bacteria",
            "score":1.46
        }
    },
    "count":0,
    "level":"root",
    "name":"Root",
    "score":0.0
}
Run Code Online (Sandbox Code Playgroud)

我可以获取/解析JSON树并将其保存到变量中.现在我需要以递归方式遍历树并且:

  1. 使每个节点成为可以呈现为HTML的东西.
  2. 创建一个新div节点并添加到新树.

但是怎么样?

html javascript tree jquery json

6
推荐指数
1
解决办法
7318
查看次数

选择低于阈值的值并使用Ruby NArray锚定在左侧或右侧

使用NArray,是否有一些很好的方法来创建值低于例如5的数组掩码,但仅用于锚定左侧或右侧的值的运行,例如这个1-D数组:

[3, 4, 5, 7, 1, 7, 8]
Run Code Online (Sandbox Code Playgroud)

会导致:

[1, 1, 0, 0, 0, 0, 0]
Run Code Online (Sandbox Code Playgroud)

而这个2-D阵列:

[[2, 4, 5, 7, 1, 2, 3], 
 [3, 4, 5, 7, 1, 7, 8],
 [8, 1, 1, 7, 1, 7, 1]]
Run Code Online (Sandbox Code Playgroud)

会导致:

[[1, 1, 0, 0, 1, 1, 1], 
 [1, 1, 0, 0, 0, 0, 0],
 [0, 0, 0, 0, 0, 0, 1]]
Run Code Online (Sandbox Code Playgroud)

ruby narray

5
推荐指数
1
解决办法
64
查看次数

如何在启用了环境和警告的情况下运行Ruby脚本?

我更喜欢使用哈希爆炸行来调用Ruby脚本,使用#!/bin/env ruby它可以让我使用本地Ruby安装而不与系统Ruby安装冲突。但是如何在Linux系统上启用警告?我的测试脚本:

#!/usr/bin/env ruby -w

FOO
Run Code Online (Sandbox Code Playgroud)

在Mac上,我得到:

maasha@mel:~$ ./test.rb
./test.rb:3: warning: possibly useless use of a constant in void context
./test.rb:3:in `<main>': uninitialized constant FOO (NameError)
Run Code Online (Sandbox Code Playgroud)

在Linux上,我得到:

maasha@orsted:~$ ./test.rb
/usr/bin/env: ruby -w: No such file or directory
Run Code Online (Sandbox Code Playgroud)

ruby warnings

5
推荐指数
1
解决办法
1189
查看次数

ZenTest需要RubyGems版本〜> 1.8

我试图在一些Ubuntu服务器上安装RubyInline:

sudo gem1.9.1 install RubyInline
ERROR:  Error installing RubyInline:
        ZenTest requires RubyGems version ~> 1.8


sudo ruby --version
ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-linux]
Run Code Online (Sandbox Code Playgroud)

这个错误的原因是什么?我对1.8引用感到困惑.这应该都是Ruby1.9.1.怎么解决这个?

ruby ubuntu inline

3
推荐指数
1
解决办法
4760
查看次数

标签 统计

ruby ×7

html ×2

enzyme ×1

file ×1

inline ×1

inline-code ×1

javascript ×1

jquery ×1

json ×1

narray ×1

popen3 ×1

reactjs ×1

rubocop ×1

size ×1

split ×1

tree ×1

ubuntu ×1

warnings ×1