小编Rya*_*yan的帖子

我如何分割像shell这样的字符串来填充ARGV?

我想要一个Ruby方法或一个正则表达式,让我将一串命令行参数分成一个类似ARGV的数组.我问的问题类似于这个问题,但在Ruby中.

我正在为使用Trollop处理命令行输入的Ruby程序编写单元测试(尽管这个问题对于任何其他选项解析器都是相同的).

我想测试的方法如下所示:

def parse_args(args)
  Trollop::options(args) do
    # ... parse options based on flags
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的节目中,我打电话parse_args(ARGV).在我的测试中,我认为我可以在空格中传递一个字符串,但这不是ARGV的行为.比较以下内容:

./argv_example.rb -f -m "Hello world" --extra-args "-vvv extra verbose"
=> ["-f", "-m", "Hello world", "--extra-args", "-vvv extra verbose"]

'-f -m "Hello world" --extra-args "-vvv extra verbose"'.split
=> ["-f", "-m", "\"Hello", "world\"", "--extra-args", "\"-vvv", "extra", "verbose\""]
Run Code Online (Sandbox Code Playgroud)

ruby string command-line

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

为什么jQuery无法隐藏某些HTML?

我一直在试图解决这个问题.采用以下HTML正文:

<body>
<div id="project">
  <h1>Hi</h1>
  <h2>Hello</h2>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

以下jQuery代码:

$(function(){
  var h = $('#project').html();
  $('#project').remove();
  $(h).hide().appendTo('body');
  alert("Created HTML, hide, and appended!");
});
Run Code Online (Sandbox Code Playgroud)

$(h).hide()部分导致jQuery在Safari 4和Firefox 3.5中引发异常.

Safari: TypeError: Result of expression 'this[a].style' [undefined] is not an object.
Firefox: uncaught exception: [Exception... "Could not convert JavaScript argument arg 0" nsresult: ...]

当我将HTML更改为仅包含两个标题中的一个时(如果从HTML中删除<h1>或删除<h2>,脚本将成功运行.为什么会这样?

要亲自尝试,请访问http://jsbin.com/avisi/edit

编辑:我实际上并没有尝试从DOM中删除元素并通过复制HTML重新插入它.这只是我在更复杂的代码中遇到的错误的测试用例,我试图理解为什么会出现这个错误.我同意,如果我想完成这里显示的内容,我会使用类似的东西$('#project').remove().children().appendTo('body')

html javascript jquery

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

如何查看 Ruby .gem 中的文件?

一旦我安装了 Ruby gem,我就知道我可以使用gem contents <my_gem>. 但是如何在不安装 gem 的情况下查看它的内容呢?

ruby rubygems

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

标签 统计

ruby ×2

command-line ×1

html ×1

javascript ×1

jquery ×1

rubygems ×1

string ×1