小编mbi*_*ras的帖子

如何在 github 上托管的 jekyll 项目中包含图像?

我正在使用 jekyll 构建一个博客,并使用 gh-pages 将其托管在 github 上。我的项目的根可以在下面看到:

??? LICENSE
??? README.md
??? _config.yml
??? _img
?   ??? 2016-09-09\ 14.48.20.png
?   ??? 2016-09-09\ 15.25.09.png
.
.
.
??? _posts
?   ??? 2016-09-08-seven-weeks-before-applying-to-devops-job.markdown
?   ??? 2016-09-09-an-hour-with-ansible.md
.
.
.
??? _site
?   ??? 2016
?   ?   ??? 09
?   ?       ??? 08
?   ?       ?   ??? seven-weeks-before-applying-to-devops-job.html
?   ?       ??? 09
?   ?           ??? an-hour-with-ansible.html
?   ??? LICENSE
?   ??? README.md
?   ??? about
?   ?   ??? index.html
?   ??? css
? …
Run Code Online (Sandbox Code Playgroud)

github jekyll github-flavored-markdown

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

使用 Minitest 访问控制器实例变量

我正在尝试使用 minitest 访问控制器内的实例变量。

例如:

microposts_controller.rb:

def destroy
  p "*"*40
  p @cats = 42
end
Run Code Online (Sandbox Code Playgroud)

@cats我将如何测试with inside with minitest的值microposts_controller_test.rb

我知道我可以delete从浏览器提交请求并检查我的服务器日志并找到:

"****************************************"
42
Run Code Online (Sandbox Code Playgroud)

我在另一个答案中读到,我可以访问assigns包含所有实例变量的哈希,但它不起作用。我也尝试过查看该controller物体的内部。如下图所示:

microposts_controller.rb:

test "@cats should exist in destroy method" do 
  delete micropost_path(@micropost)
  p controller.instance_variables
  p assigns[:cats]
end
Run Code Online (Sandbox Code Playgroud)

输出:

[:@_action_has_layout, :@_routes, :@_request, :@_response, :@_lookup_context, :@_action_name, :@_response_body, :@marked_for_same_origin_verification, :@_config, :@_url_options]0:04
nil
Run Code Online (Sandbox Code Playgroud)

我期望看到对象@cats内部的实例变量controller。我也期待看到42输出。

我在这里缺少什么?

ruby tdd minitest railstutorial.org ruby-on-rails-5

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

使用pry-byebug设置条件断点

给出以下代码:

require 'pry-byebug'

10.times.with_index do |i|
  binding.pry
  puts i
end
Run Code Online (Sandbox Code Playgroud)

我想i == 5在里面"循环直到破裂" pry-byebug.从运行它help break看起来你可以通过"断点#"或"行#"识别断点.它似乎也可以使用条件,但是我没有让它工作:

试图在#行上设置断点:

$  ruby foo.rb

From: /Users/max/Dropbox/work/tmp/pry_debug/foo.rb @ line 5 :

    1: require 'pry-byebug'
    2:
    3: 10.times.with_index do |i|
    4:   binding.pry
 => 5:   puts i
    6: end

[1] pry(main)> break foo.rb:5 if i == 5

  Breakpoint 1: /Users/max/Dropbox/work/tmp/pry_debug/foo.rb @ 5 (Enabled) Condition: i == 5


    2:
    3: 10.times.with_index do |i|
    4:   binding.pry
 => 5:   puts i
    6: end


[2] pry(main)> continue …
Run Code Online (Sandbox Code Playgroud)

ruby pry byebug

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

Object如何知道const_get方法?

我正在阅读另一个问题,其答案提到使用Module#const_get实例方法在模块中查找类.例如:

module M
  class C
  end
end

p M.const_get 'C'
#=> M::C
Run Code Online (Sandbox Code Playgroud)

我很好奇这个const_get方法所以我用过ri并发现:

ri Module#const_get
...
This method will recursively look up constant names if a namespaced
class name is provided.  For example:

  module Foo; class Bar; end end
  Object.const_get 'Foo::Bar'
...
Run Code Online (Sandbox Code Playgroud)

这似乎Object::const_get是一种单身方法.在我们的上下文中使用它:

module M
  class C
  end
end

p Object.const_get 'M::C'
#=> M::C
Run Code Online (Sandbox Code Playgroud)

但是没有关于该单例方法的文档记录:

ri Object::const_get
Nothing known about Object::const_get
ri Object.const_get
Nothing known about Object.const_get
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,因为我知道一个 …

ruby

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

是否有一个更像剁的红宝石切片?

chop 切断最后一个字符并返回剩余的字符串:

irb(main):011:0> "hello world".chop
=> "hello worl"
Run Code Online (Sandbox Code Playgroud)

slice 可以用来切断第一个字符

irb(main):013:0> str = "hello world"
=> "hello world"
irb(main):014:0> str.slice!(0)
=> "h"
irb(main):015:0> str
=> "ello world"
Run Code Online (Sandbox Code Playgroud)

是否有一个Ruby方法切断第一个字符,但然后返回字符串的其余部分?看起来就像

irb(main):011:0> "hello world".some_method
=> "ello world"
Run Code Online (Sandbox Code Playgroud)

ruby

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

如何在ruby中显示ascii art字符串?

我正在尝试在ruby程序中使用artii制作的ascii艺术字符串.可以使用cli按预期生成字符串:

在此输入图像描述

然而,当我尝试将其保存为一个字符串,或者puts,p或者print它,它不工作.我想这可能是因为斜线需要逃脱,我试图做,但它看起来我也没有正确的.我如何从cli上的工作字符串转到ruby程序中的工作字符串,该字符串将字符串打印到stdout? 在此输入图像描述

banner = "
  _____       _             _   _       _       
 |  __ \     | |           | \ | |     | |      
 | |__) |   _| |__  _   _  |  \| | ___ | |_ ___ 
 |  _  / | | | '_ \| | | | | . ` |/ _ \| __/ _ \
 | | \ \ |_| | |_) | |_| | | |\  | (_) | |_  __/ …
Run Code Online (Sandbox Code Playgroud)

ruby ascii

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

论证处理是"僵化的"是什么意思?

摘自文件Proc#lambda?:

对于参数处理严格的Proc对象,返回true.这种触发通常由lambda生成.

什么是"严格的论证"处理?

ruby

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

Node.js中Heredoc的用法

我有以下Node.js代码和输出:

var help = `Usage: foo [options]

v<interpolate here>

Options:
  -h, --help      Show some help
`
process.stdout.write(help)

var packageDotJson = require('./package.json');
process.stdout.write(packageDotJson.version + "\n")

// Usage: foo [options]
//
// v<interpolate here>
//
// Options:
// -h, --help      Show some help
// 1.2.0
Run Code Online (Sandbox Code Playgroud)

如何在heredoc中插值v<interpolate here>?我的目标是替换<interpolate here>1.2.0

我也更喜欢使用一个弯曲的heredoc。例如,现在我必须写:

if (true) {
  var help = `foo bar baz
cats and dogs
`
}
Run Code Online (Sandbox Code Playgroud)

但我宁愿这样写:

if (true) {
  var help = `foo bar baz
  cats …
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

在Google表格中添加带有ARRAYFORMULA的标题行

我观看了一个教程,其中作者使用IF语句ARRAYFORMULA函数将标题行添加到数据列.链接被提供给文档; 但是,有关如何使用的示例ARRAYFORMULA请参阅此答案.

下面是一个例子:

在此输入图像描述

我可以C通过将以下公式放入以下列来填充列C1:

=ARRAYFORMULA(if(row(A:A) = 1, "spent", B:B - A:A))
Run Code Online (Sandbox Code Playgroud)

我对语法感到困惑.我理解X:X引用整个X列,但我不明白它是如何用于检查我们是否A1在一个上下文中的单元格,然后用于在另一个上下文中应用质量公式.

  • 以上几行如何运作?
  • 你能用一些例子来说明吗?

google-sheets array-formulas google-sheets-api

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

如何在 AWK 中使用正则表达式作为字段分隔符?

我读到另一个答案,它展示了如何使用-F标志设置字段分隔符:

awk -F 'INFORMATION DATA ' '{print $2}' t
Run Code Online (Sandbox Code Playgroud)

现在我很好奇如何使用正则表达式作为字段分隔符。我的尝试如下所示:

$ echo "1 2 foo\n2 3 bar\n42 2 baz"
1 2 foo
2 3 bar
42 2 baz
$ echo "1 2 foo\n2 3 bar\n42 2 baz" | awk -F '\d+ \d+ ' '{ print $2 }'
# 3 blank lines
Run Code Online (Sandbox Code Playgroud)

我期望得到以下输出:

foo
bar
baz 
Run Code Online (Sandbox Code Playgroud)

这是因为我的正则表达式\d+ \d+匹配“前两个数字由空格分隔,后跟空格”。但我正在打印第二条记录。如红宝石所示:

在此输入图像描述

  • 如何使用正则表达式作为 awk 字段分隔符?

regex unix bash awk

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