这是一个 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) 所以,我试图在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执行创建一个具有两个预期属性的对象.
我试过把字符串包裹起来.那不解析.
意外的令牌似乎是第一个字母.
我做错了什么,我该如何解析这个对象?
我正在使用一系列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中的对象数组.这是一个剥离的例子:
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的最后一个实例.相反,我没有看到'做比较'调试行,并且数组保持相同的长度.
笔记:
===a.uniq{|x| [x.a, x.b]},但我不喜欢这个解决方案,它使代码看起来很混乱.所以,这里有两个返回相同结果的语句.
SELECT * FROM USERS WHERE ID = 1;
-----------------------
SELECT * FROM USER WHERE ID IN (1);
Run Code Online (Sandbox Code Playgroud)
有时,从单个项目生成第二个查询更容易,可以选择向列表中添加其他项目.
在Oracle中使用单项列表是否存在任何内在风险?是否可能导致性能问题?