问问题
281 次
1 回答
4
尝试
HTTP::Request.new(|{ %*ENV<REQUEST_METHOD> => %*ENV<REQUEST_URI> });
而不是更明显的
HTTP::Request.new( %*ENV<REQUEST_METHOD> => %*ENV<REQUEST_URI> );
如果 的左侧=>
不是文字,我们将不会绑定到命名参数。相反,pair 对象作为位置参数传递。
为了解决这个问题,我们构造了一个匿名散列,它通过 prefix 扁平化到参数列表中|
。
作为奖励,这里有一些更有创意的方法:
HTTP::Request.new(|%( %*ENV<REQUEST_METHOD REQUEST_URI> ));
HTTP::Request.new(|[=>] %*ENV<REQUEST_METHOD REQUEST_URI> );
于 2015-02-04T20:48:27.080 回答