小编kre*_*eek的帖子

json-schema附加元数据

是否可以向json架构属性添加其他元素或自定义元数据(标题和描述除外)?

理想情况下,我想添加一些元数据,如下所示:

//...
"properties": {
  "contactFullName": {
    "$ref": "#/definitions/fullName",
    "custom": "my custom metadata here"
  }
}
//...
Run Code Online (Sandbox Code Playgroud)

你可以添加一些东西definitions来容许吗?

javascript json metadata jsonschema

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

有条件地调用链式方法

只能在以下代码中的某些情况下调用链式方法.

class Klass
  def foo
    puts 'foo'
    self
  end
  def bar
    puts 'bar'
    self
  end
end

klass = Klass.new
a = 2
id = klass.foo{conditionally chain bar if a == 2}.bar
Run Code Online (Sandbox Code Playgroud)

您可以在有条件地继续或停止方法链的链式方法之间插入表达式或方法吗?

ruby

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

从矩阵获取角度

我知道一个矩阵[x比例尺,y倾斜度,x倾斜度,y比例尺,trans x,trans y],并且想要获取以度为单位的角度。

谢谢!

javascript math actionscript trigonometry

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

捕获 SIGINT 和清理的正确方法?

编写一个 cli 工具,在启动时打开 OS X Web 代理,在关闭时我想再次关闭它。捕获 SIGINT 并执行应用程序清理的正确方法是什么?尝试了以下操作,它会跟踪消息但不运行系统命令或退出:

Signal::INT.trap do
  puts "trap"
  fork do
    system "networksetup -setwebproxystate Wi-Fi off"
  end
  exit
end
Run Code Online (Sandbox Code Playgroud)

此代码确实退出,但给出了“无效的内存访问”错误

at_exit do
  fork do
    system "networksetup -setwebproxystate Wi-Fi off"
  end
end

LibC.signal Signal::INT.value, ->(s : Int32) { exit }
Run Code Online (Sandbox Code Playgroud)
Invalid memory access (signal 10) at address 0x10d3a8e00
[0x10d029b4b] *CallStack::print_backtrace:Int32 +107
[0x10d0100d5] __crystal_sigfault_handler +181
[0x7fff6c5b3b3d] _sigtramp +29
Run Code Online (Sandbox Code Playgroud)

更新

这是使用的完整“应用程序” Signal::INT.trap,对我来说,它可以正确打开和关闭 OS X 代理设置,但循环将在中断信号后继续运行。

fork do
  system "networksetup -setwebproxy Wi-Fi  127.0.0.1 4242"
end

Signal::INT.trap do
  puts "trap" …
Run Code Online (Sandbox Code Playgroud)

crystal-lang

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