小编lab*_*nth的帖子

913
推荐指数
8
解决办法
79万
查看次数

如何从Ruby中的命令行读取密码?

我在Windows机器上运行Ruby和MySQL.

我有一些需要连接MySQL数据库的Ruby代码执行select.要连接到数据库,我需要提供密码等.

Ruby代码可以显示请求密码的提示,用户输入密码并按Enter键.我需要的是密码,因为它是键入的,显示为一行星号.

如何让Ruby在'dos box'中将键入的密码显示为一行星号?

ruby

35
推荐指数
4
解决办法
2万
查看次数

如何使用纱线搜索包裹?

如何搜索纱线包装?我想有在包的名称以及在描述搜索词结果的列表(类似于各种工具的工作原理类似npm search,apropos,apt-cache search).

我试过了yarn info <pkg>,但这给了一堆json数据,仅限于那个包.

使用yarn help和duckduckgo是教育,但仍然没有回答如何做到这一点.

package-managers yarnpkg

35
推荐指数
4
解决办法
2万
查看次数

Ruby或Rails是否有类似iPython的shell?

我喜欢iPython并且正在学习RoR和一些像Mechanize这样的库,我希望能够轻松地看到我在内省方面的工作.我希望能够输入"." + TAB,看看.

ruby ruby-on-rails ipython

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

Bash中有效标识符(例如函数,变量等)的规则是什么?

Bash中标识符的语法规则是什么,特别是函数和变量名?

我写了一个Bash脚本并在Ubuntu,Debian,Red Hat 5和6上的各种版本的Bash上测试了它,甚至是一个旧的Solaris 8盒子.脚本运行良好,所以发货了.

然而,当用户在SUSE机器上尝试它时,它给出了"非有效标识符"错误.幸运的是,我猜测函数名中有一个无效字符是正确的.连字符弄乱了它.

事实上,至少在某种程度上经过测试的脚本在另一个Bash或发行版上会有完全不同的行为,这令人不安.我怎么能避免这个?

unix linux syntax bash

24
推荐指数
3
解决办法
8771
查看次数

使用systemd在OS上为Docker守护程序设置DNS

我工作的地方阻止了Docker的默认DNS(例如8.8.8.8),所以我想更改默认值.我已经能够这样做了

$ docker daemon --dns <mydnsaddress>
Run Code Online (Sandbox Code Playgroud)

但我想使用systemd drop-in来实现这一点,因为官方Docker文档推荐这种方式.我做了一个/etc/systemd/system/docker.service.d/dns.conf文件,并使用了这样的东西:

[Service]
DNS=<mydnsaddress>
Run Code Online (Sandbox Code Playgroud)

但我只是不知道变量名应该是什么.我该如何设置?更重要的是,是否有一个页面记录了可以在Docker的systemd drop-ins中使用的所有配置变量?

(顺便说一句,这是Ubuntu 15.10上的Docker 1.9,虽然我不怀疑任何错误)

dns systemd docker

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

Errno :: EACCES:通过gitlab安装gem时权限被拒绝

我正在尝试设置gitlab,从而使用sudo从另一个用户帐户安装一些宝石,但我经常遇到Permission denied错误.

sudo -u gitlab -H bundle install --deployment --without development test postgres

> Using ... ( a lot of successful gems there )
> Using pygments.rb (0.3.2) from https://github.com/gitlabhq/pygments.rb.git (at master) 
> Errno::EACCES: Permission denied - pygments.rb-0.3.2.gem
> An error occurred while installing pygments.rb (0.3.2), and Bundler cannot continue.
> Make sure that `gem install pygments.rb -v '0.3.2'` succeeds before bundling.\



sudo -u gitlab -H gem install pygments.rb -v '0.3.2'

> Successfully installed pygments.rb-0.3.2
> 1 gem …
Run Code Online (Sandbox Code Playgroud)

ruby gem bundle bundler gitlab

11
推荐指数
2
解决办法
4万
查看次数

如何为散列中的未初始化键增加值?

如果我尝试增加哈希中尚不存在的键的值,就像这样

h = Hash.new
h[:ferrets] += 1
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

NoMethodError: undefined method `+' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义,而且我知道这一定是一个非常简单的问题,但是我很难在SO上找到它.如果我事先不知道我将拥有哪些按键,如何添加和增加这些按键?

ruby hashtable

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

使用Vim,如何使用变量存储找到的模式数?

这个问题对于获取Vim中某个模式的计数是有帮助的,但是对我来说存储计数并对结果求和将是有用的,所以我可以回应一个简明的总结.

我正在为一些高中生教授基础HTML课程,我正在使用这个脚本在不离开Vim的情况下快速检查所有页面中所需元素的数量.它工作正常,但是当学生有超过10个.html文件时,手动添加各个部分会很麻烦.

就像是:

img_sum = :bufdo %s/<img>//gen
Run Code Online (Sandbox Code Playgroud)

会好的.我想我会编写一个ruby脚本来更彻底地检查页面并检查结构,但是现在我很好奇如何在Vim中执行此操作.

vim

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

如何使用智能指针进行自动清理?

我正在制作一个简单的日志类,其中包含指向 astd::ofstreamstd::cerr.

无论使用哪个流,是否有任何简单的方法可以使用智能指针进行自动清理?

代码必须在 clang++、g++ 和 VS2013 上编译。

代码

#include <iostream>
#include <fstream>
#include <string>

class Logger {
private:
    std::ostream * output_stream{ nullptr };
    bool using_file{ false };
public:
    Logger()
    {
        output_stream = &std::cerr;
        using_file = false;
    }
    Logger(std::string file)
    {
        output_stream = new std::ofstream(file);
        using_file = true;
    }
    ~Logger()
    {
        if (using_file)
        {
            delete output_stream;
        }
    }
    template<typename T>
    void log(T info)
    {
        *output_stream << info << std::endl;
    }
};

class tmp {
    int i{ …
Run Code Online (Sandbox Code Playgroud)

c++ pointers smart-pointers stream c++11

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