小编Tod*_*obs的帖子

如何使用printf添加换行符?

如何使用printf向打印命令添加新行?

printf "I want this on a new line!"
Run Code Online (Sandbox Code Playgroud)

我认为这将是这样的,但它没有用

printf "/n I want this on a new line!/n"
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

printing bash terminal

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

如何仅在包含或不包含其他模式的行上替换模式?

说我有一个包含单词red和的文字blue.

如何更换这个词的出现次数bluegreen只有在包含所有字线red

同样我怎么能代替bluegreen在不包含字都行red

regex vim replace

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

我怎样才能大写数组的每个元素?

如何将元素数组转换为大写?预期产出将是:

["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]  
=> ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"]
Run Code Online (Sandbox Code Playgroud)

以下不起作用,并将它们作为小写.

Day.weekday.map(&:name).each {|the_day| the_day.upcase }
 => ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"] 
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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

传递引用的参数时,为什么我会得到"/ bin/sh:参数列表太长"?

可以传递给命令行多长时间sh -c ''?(在bash和bourne shell中)

该限制远低于操作系统的限制(在现代Linux的情况下).

例如:

$ /bin/true $(seq 1 100000)
$ /bin/sh -c "/bin/true $(seq 1 100000)"
bash: /bin/sh: Argument list too long
Run Code Online (Sandbox Code Playgroud)

我怎么能绕过这个问题呢?

更新

我想注意到getconf这里无法帮助(因为这不是系统限制):

$ seq 1 100000 | wc -c
588895
$ getconf ARG_MAX
2097152
Run Code Online (Sandbox Code Playgroud)

更新#2

现在我明白了这里有什么意义.这不是shell限制,即系统限制,但是对于每个参数的长度,而不是整个arglist.

$ /bin/true $(seq 1 100000)
$ /bin/true "$(seq 1 100000)"
bash: /bin/true: Argument list too long
Run Code Online (Sandbox Code Playgroud)

谢谢CodeGnome的解释.

bash shell command-line arguments quoting

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

Ruby在哪里跟踪其打开的文件描述符?

什么这个问题是不是关于

这个问题不是关于如何使用File #close或File#open block语法自动关闭文件.这是一个关于Ruby在运行时存储其打开文件描述符列表的问题.

实际问题

如果您的程序具有开放描述符,但您无权访问相关的文件或IO对象,那么如何找到对当前打开的文件描述符的引用?举个例子:

filename='/tmp/foo'
%x( touch "#{filename}" )
File.open(filename)
filehandle = File.open(filename)
Run Code Online (Sandbox Code Playgroud)

第一个File实例被打开,但对象的引用不存储在变量中.第二个实例被存储在文件句柄,其中I可以很容易地与#inspect或#关闭访问它.

但是,丢弃的File对象没有消失; 它只是无法以任何明显的方式访问.在对象完成之前,Ruby必须在某个地方跟踪它...但在哪里?

ruby io file-io file-descriptor filehandle

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

如何截断长度超过给定长度的文本行?

您将如何删除x个字符之后的所有内容?例如,删除 15 个字符之后的所有内容并添加...到其中。

This is an example sentence应该变成This is an exam...

string bash shell truncation string-length

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

为什么我的BigDecimal对象初始化时出现意外的舍入错误?

在Ruby 2.2.0中,为什么:

BigDecimal.new(34.13985572755337, 9)
Run Code Online (Sandbox Code Playgroud)

平等34.0但是

BigDecimal.new(34.13985572755338, 9)
Run Code Online (Sandbox Code Playgroud)

平等34.1398557

请注意,我在64位计算机上运行它.

ruby floating-point rounding bigdecimal floating-point-precision

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

为什么Array#每个都返回一个具有相同元素的数组?

我正在学习如何each在ruby中工作的细节,我尝试了以下代码行:

p [1,2,3,4,5].each { |element| el }
Run Code Online (Sandbox Code Playgroud)

结果是一个数组

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

但我不认为我完全理解为什么.为什么each同一个数组的返回值?难道每个都不提供迭代方法吗?或者只是该each方法返回原始值的常见做法?

ruby arrays each self

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

如何在HAML中包装多行Ruby参数?

如何在HAML中为单个Ruby语句使用多行?例如,我想写下面的内容:

- entries = [{
-   :title => "The Fellowship of the Ring", 
-   :body => "We should walk instead of fly"
- }]

!!! 5
%html
  %head
    %title Blog
  %body
    #content
      - entries.each do |entry|
        .entry
          %h3.title= entry[:title]
          %p.body= entry[:body]
Run Code Online (Sandbox Code Playgroud)

但当然前四行会产生语法错误.

ruby haml word-wrap

19
推荐指数
3
解决办法
9598
查看次数

在Python脚本中运行命令行

所以我有一堆别名和命令行提示程序,我的主程序通过输入b到cmd.exe,然后是一些文件路径名称和什么没有.我如何在我的python脚本中运行这些参数?这样它模仿我在cmd中所做的动作?

python windows cmd

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