小编Phr*_*ogz的帖子

通过基于项的属性对对象数组进行分组来构建哈希

我想知道在ruby 1.9中是否有更规范的方法可以做到这一点

我有一个包含大量对象的数组,我想使用数组中每个对象的属性将它们分组为Hash.

简单的例子:

> sh = {}
 => {} 
> aers = %w(a b c d ab bc de abc)
 => ["a", "b", "c", "d", "ab", "bc", "de", "abc"] 
> aers.each do |aer|
>     sh[aer.size] = [] if sh[aer.size].nil?
>     sh[aer.size] << aer
>   end
=> ["a", "b", "c", "d", "ab", "bc", "de", "abc"] 
> sh
 => {1=>["a", "b", "c", "d"], 2=>["ab", "bc", "de"], 3=>["abc"]} 
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它的输出是错误的(你可以看到):

 sh = Hash.new([])
 => {} 
> aers.each do |aer|
>     sh[aer.size] << …
Run Code Online (Sandbox Code Playgroud)

ruby arrays hash

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

javascript中的任何类似于ruby的#{value}(字符串插值)

我厌倦了这样写:

string_needed ="prefix ....."+ topic +"suffix ...."+ name +"testing";

我想现在有人可能已经做了一些事情;)

javascript ruby

18
推荐指数
3
解决办法
9697
查看次数

在Chrome中,如何查看正在制作的AJAX请求?

在Chrome中,如何查看正在制作的AJAX请求?

在Firefox中我使用Firebug,我可以看到任何后台AJAX请求.

google-chrome

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

Ruby什么都不返回?

红宝石可以不归还吗?

仅用于教育目的

例如:

myarray = [1,2,3]
myarray << some_method

def some_method
  if Date.today.day > 15
    return "Trololo"
  else
    return __NOTHING__
  end
end
Run Code Online (Sandbox Code Playgroud)

因此,如果今天是3月11日myarray将不会添加新项目.我不想nil- 因为nil不是没有:)

我明白了,我可以使用if | unless的语句像myarray << some_method if some_method等.我想了解我能回报什么的红宝石或每次我回来的东西(至少我可以得到的是无对象)

ruby

18
推荐指数
4
解决办法
9264
查看次数

直接在Nokogiri的标签内获取文本

我有一些HTML看起来像:

<dt>
  <a href="#">Hello</a>
  (2009)
</dt>
Run Code Online (Sandbox Code Playgroud)

我已经将所有HTML加载到一个名为的变量中record.我需要解析一年,即2009年是否存在.

如何获取dt标签内的文本而不是a标签内的文本?我用过record.search("dt").inner_text,这给了我一切.

这是一个微不足道的问题,但我还没有想到这一点.

ruby nokogiri

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

有效"缩放"或"调整"数字数组的算法(音频重采样)

进行音频处理(虽然它也可以是图像处理)我有一个数字的一​​维数组.(它们恰好是代表音频样本的16位有符号整数,这个问题可以适用于不同大小的浮点数或整数.)

为了匹配不同频率的音频(例如,将44.1kHz样本与22kHz样本混合),我需要拉伸或压缩值数组以满足特定长度.

将数组减半很简单:丢弃其他每个样本.

[231, 8143, 16341, 2000, -9352, ...] => [231, 16341, -9352, ...]
Run Code Online (Sandbox Code Playgroud)

将数组宽度加倍稍微简单:将每个条目加倍(或者可选地在相邻的"实际"样本之间执行一些插值).

[231, 8143, 16341, 2000, -9352, ...] => [231, 4187, 8143, 12242, 16341, ...]
Run Code Online (Sandbox Code Playgroud)

我想要的是一种处理任何缩放因子的高效,简单的算法,并且(理想情况下)可选地支持在该过程中执行一种或另一种插值.

我的用例恰好是使用Ruby数组,但我很乐意在大多数语言或伪代码中获取答案.

ruby language-agnostic arrays algorithm audio

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

如何将Nokogiri Document对象转换为JSON

我有一些解析Nokogiri::XML::Document对象,我想打印为JSON.

我可以将它变成一个字符串,将其解析为哈希,使用active-record或Crack然后使用Hash.to_json; 但这既丑陋又依赖于manay库.

有没有更简单的方法?

根据评论中的请求,例如,XML <root a="b"><a>b</a></root>可以表示为JSON:

<root a="b"><a>b</a></root> #=> {"root":{"a":"b"}}
<root foo="bar"><a>b</a></root> #=> {"root":{"a":"b","foo":"bar"}}
Run Code Online (Sandbox Code Playgroud)

这也是我现在用Crack得到的.实际上,实体和子标签之间的冲突是一个潜在的问题,但我自己构建了大部分XML,因此最简单的方法就是完全避免这些冲突:)

ruby xml json nokogiri

17
推荐指数
2
解决办法
1万
查看次数

顶部或底部的CSS样式表?或如何解决空白页问题?

我一直把样式表放在<head></head>html的顶部(之间).据我所知,这是最好的做法.(例如http://stevesouders.com/hpws/css-bottom.php)

无论如何,最近我经历了不同的结果.相反,当test.css很慢时,下面的代码将返回空白页,这意味着我没有经历渐进式渲染.

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="test.css" />
</head>
<body>
Blah..
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后当test.css放在底部时,我得到渐进式渲染.

<!DOCTYPE html>
<html>
<head>
</head>
<body>
Blah..
<link rel="stylesheet" href="test.css" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

据我所知,到目前为止,它应该是相反的方向.可能还有其他因素我忽略了?

css rendering progressive

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

HTML5 canvas是否支持基于浏览器的缩放?

我设置了一个简单的画布,上面画了一个fillText.它看起来相当不错,但是当我使用浏览器提供的缩放功能(Safari,Firefox)时,抗锯齿效果看起来很难看.

我尝试使用scale()提升网格,但它没有帮助.

是否有任何方法可以在画布上绘制,即使使用缩放的浏览器窗口,它看起来也很清晰?


截图(无缩放):http://i.stack.imgur.com/CGWka.png

截图(最大缩放):http://i.stack.imgur.com/vNPjF.png

javascript css html5 canvas

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

如何扩展具有一些复杂路径定义的SVG?

我有一个SVG,其代码如下:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="150px" height="150px" preserveAspectRatio="xMinYMin meet" viewBox="0 0 150 155" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <g id="g11" transform="matrix(1.25,0,0,-1.25,-100.0791,954.14501)">
        <g id="g3186" transform="translate(6.3490095,-13.703287)">
            <path d="..."></path>
            <path d="..."></path>
            <path d="..."></path>
            <path d="..."></path>
        </g>
    </g>
</svg>
Run Code Online (Sandbox Code Playgroud)

SVG的"原始"尺寸生成的图像是300px×310px.我想整体缩放图像,比方说50%.我已经尝试了多种方法来缩放图像,但我所做的最好的就是将原始图像剪辑或"裁剪"到原始尺寸的50%的区域.

使用preserveAspectRatio,设置视图框,尝试使用transform ="scale(0.5")等等都没有用.我想做的就是将原始尺寸缩放50%.

svg scale

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