小编AJF*_*day的帖子

Bash:如何构建一个递归的 cowsay

这是一个 linux 命令(您可能需要该cowsay应用程序。

cowsay 'moo'
Run Code Online (Sandbox Code Playgroud)

这是另一个命令:

cowsay 'moo' | cowsay -n
Run Code Online (Sandbox Code Playgroud)

结果非常有趣:

 ______________________________
/  _____                       \
| < moo >                      |
|  -----                       |
|         \   ^__^             |
|          \  (oo)\_______     |
|             (__)\       )\/\ |
|                 ||----w |    |
\                 ||     ||    /
 ------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
Run Code Online (Sandbox Code Playgroud)

现在,当然,重复该管道命令 N 次非常有趣。它看起来有点像这样:

 cowsay 'moo' | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n | cowsay -n …
Run Code Online (Sandbox Code Playgroud)

linux bash

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

JSON.parse,我做错了什么?

所以,我试图在Javascript中解析一些JSON.这感觉它应该工作,但我收到一个错误.这是函数调用:

JSON.parse("{player: 'green', direction: 'north'}");
Run Code Online (Sandbox Code Playgroud)

这是错误

VM156:1 Uncaught SyntaxError: Unexpected token p in JSON at position 1
    at Object.parse (native)
    at <anonymous>:1:6
Run Code Online (Sandbox Code Playgroud)

我在一个空的网页上尝试这个,没有JS库.

该字符串,只是作为Javascript执行创建一个具有两个预期属性的对象.

我试过把字符串包裹起来.那不解析.

意外的令牌似乎是第一个字母.

我做错了什么,我该如何解析这个对象?

javascript parsing json

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

Ruby数组 - 如何使值保持在nil值之上

我正在使用一系列midi音高,看起来像这样......

pitches = [
  60, nil, nil, nil, 67, nil, nil, nil, 
  nil, nil, nil, nil, nil, nil, nil, nil, 
  nil, nil, nil, nil, nil, nil, nil, nil, 
  nil, nil, nil, nil, nil, nil, nil, nil
] 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,音高在索引1,2和3上仍为60.

在指数4之后,投球仍然是67.

如何编写方法来识别先前的非零值?

我目前认为这样做的唯一方法看起来有点笨拙:

def pitch_at_step(pitches,step)
  if pitches.any?
    x = pitches[step]
    until x != nil
      index -= 1
      x = pitches[step]        
    end 
    x
  else
    nil
  end 
end
Run Code Online (Sandbox Code Playgroud)

预期输出格式为:

pitch_at_step(pitches, 0) # 60
pitch_at_step(pitches, 2) # 60
pitch_at_step(pitches, 4) # 67
pitch_at_step(pitches, 8) # …
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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

Ruby`uniq`方法用于相等性检查是什么?

我有兴趣实现一个自定义的相等方法,用于Ruby中的对象数组.这是一个剥离的例子:

class Foo

  attr_accessor :a, :b

  def initialize(a, b)
    @a = a
    @b = b
  end 

  def ==(other)
    puts 'doing comparison'
    @a == @a && @b == @b
  end

  def to_s
    "#{@a}: #{@b}"  
  end

end 

a = [
  Foo.new(1, 1),
  Foo.new(1, 2),
  Foo.new(2, 1),
  Foo.new(2, 2),
  Foo.new(2, 2)
]
a.uniq
Run Code Online (Sandbox Code Playgroud)

我期望uniq方法调用Foo#==,并删除Foo的最后一个实例.相反,我没有看到'做比较'调试行,并且数组保持相同的长度.

笔记:

  • 我正在使用ruby 2.2.2
  • 我已经尝试将方法定义为 ===
  • 我已经做了很长时间a.uniq{|x| [x.a, x.b]},但我不喜欢这个解决方案,它使代码看起来很混乱.

ruby

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

Oracle:=和in有一个选项有什么区别?

所以,这里有两个返回相同结果的语句.

SELECT * FROM USERS WHERE ID = 1;
-----------------------
SELECT * FROM USER WHERE ID IN (1);
Run Code Online (Sandbox Code Playgroud)

有时,从单个项目生成第二个查询更容易,可以选择向列表中添加其他项目.

在Oracle中使用单项列表是否存在任何内在风险?是否可能导致性能问题?

sql oracle

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

标签 统计

ruby ×2

arrays ×1

bash ×1

javascript ×1

json ×1

linux ×1

oracle ×1

parsing ×1

sql ×1