小编Aus*_*son的帖子

如何定义自己的终端选项卡完成

我注意到有些程序有自己的tab-completion.

例如,git:

git checkout 
Run Code Online (Sandbox Code Playgroud)

允许选项卡完成分支名称.

这是如何完成的?

bash shell tab-completion

4
推荐指数
1
解决办法
141
查看次数

在 Numpy/Python 中快速稀疏矩阵

我需要(快速)稀薄一个矩阵。

Rarefaction - 将丰度矩阵转换为均匀的采样深度。

在这个例子中,每一行都是一个样本,采样深度是该行的总和。我想通过min(rowsums(matrix))样本对矩阵进行随机采样(有替换)。

假设我有一个矩阵:

>>> m = [ [0, 9, 0],
...       [0, 3, 3],
...       [0, 4, 4] ]
Run Code Online (Sandbox Code Playgroud)

min(rowsums(matrix))稀疏函数按替换次数(在本例中为 6)逐行随机采样。

>>> rf = rarefaction(m)
>>> rf
    [ [0, 6, 0],  # sum = 6
      [0, 3, 3],  # sum = 6
      [0, 3, 3] ] # sum = 6
Run Code Online (Sandbox Code Playgroud)

结果是随机的,但行总和始终相同。

>>> rf = rarefaction(m)
>>> rf
    [ [0, 6, 0],   # sum = 6
      [0, 2, 4],   # sum = 6
      [0, 4, …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

Ruby Class#new - 为什么`new`是一个私有方法?

我制作了一个Matrix类,我想在代码的各个部分使用它.

class Matrix
  def initialize(x, y, v=0)
    @matrix = Array.new
    (0..y).each do |j|
      @matrix[j] = Array.new
      (0..x).each do |i|
        @matrix[j][i] = v
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

当此代码与使用它的代码包含在同一个类中时,一切运行正常.

当我将此代码移动lib/matrix.rb并要求它时,我收到以下错误:

./phylograph:30:in `block in run': private method `new' called for Matrix:Class (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

ruby matrix access-specifier

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

R - 保留所有图的记录

我在R中做了很多数据探索,我想保留我生成的每个图(来自交互式R控制台).我正在考虑一个目录,我绘制的所有内容都会自动保存为带时间戳的PDF.我也不希望这会干扰正常显示的情节.

有什么东西我可以添加到我~/.Rprofile这样做吗?

r

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

脚本作为模块和可执行文件

  • 我在python中有一个脚本,可以从命令行调用并使用optparse.

    script -i arg1 -j arg2
    
    Run Code Online (Sandbox Code Playgroud)

    在这种情况下,我(options, args) = parser.parse_args()用来创建options然后使用options.arg1来获取参数.

  • 但我也希望它可以作为模块导入.

    from script import *
    function(arg1=arg1, arg2=arg2)
    
    Run Code Online (Sandbox Code Playgroud)

    我已经设法使用一个非常蹩脚的解决方案:通过提供虚拟对象.

    def main():
        class Options:
            ''' dummy object '''
            def __init__(self):
                pass
        options = Options
        for k in kwargs:
            setattr(options, k, kwargs[k])
    
    Run Code Online (Sandbox Code Playgroud)

脚本的其余部分不知道差异,但我认为这个解决方案很难看.

有更好的解决方案吗?

python

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

来自不输出到STDOUT的程序的管道输出

假设我有一个程序输出到由(必需)参数提供的文件:

./foo -o bar.txt
Run Code Online (Sandbox Code Playgroud)

有没有办法欺骗它输出到管道?这只是输出到一个名为的文件-.

./foo -o - | less
Run Code Online (Sandbox Code Playgroud)

unix bash pipe named-pipes

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

标签 统计

bash ×2

python ×2

access-specifier ×1

matrix ×1

named-pipes ×1

numpy ×1

pipe ×1

r ×1

ruby ×1

shell ×1

tab-completion ×1

unix ×1