小编Phr*_*ogz的帖子

创建一个具有均匀间隔值的数组

生成具有固定距离值的数组的简单方法是什么?

例如:

1, 4, 7, 10,... etc
Run Code Online (Sandbox Code Playgroud)

我需要能够设置开始,结束和步距.

ruby

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

使用jQuery计算段落中的字符(*not*表示输入/ textarea)

我如何在jQuery中处理ap/div标签的字符计数器?

基本上我想在字符值> = 50时显示不同的css值.

一直苦苦挣扎几个小时:)

html javascript jquery

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

用Nokogiri清理HTML(而不是Tidy)

tidy宝石不再维护,并有多个内存泄漏问题.

有人建议使用Nokogiri.

我目前正在使用以下方法清理HTML:

Nokogiri::HTML::DocumentFragment.parse(html).to_html

我有两个问题:

  • Nokogiri删除了 DOCTYPE

  • 有没有一种简单的方法可以强制清理的HTML有一个htmlbody标签?

ruby tidy nokogiri

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

用另一个元素包裹一个元素,保留对包装的引用?

jQuery wrap()方法不使用您创建的元素进行换行,而是复制:

var $orig = $('p'); // some existing element
var $wrap = $('<div>').css({border:'1px solid red'});
$orig.wrap($wrap);
$wrap.append('<p>SMOKE YOU</p>'); // does not appear after the original element
Run Code Online (Sandbox Code Playgroud)

如果你不相信,你可以在这里看到上面的实时版本:http://jsfiddle.net/QRmY6/

如何最好地创建非平凡的动态内容来包装现有节点,同时保留对内容周围的包装器的引用

javascript jquery

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

HTML5 Canvas(倒置)坐标系

我是Canvas的新手,并且想知道:

  1. 使用倒置笛卡尔坐标系的基本原理.
  2. 说,我需要在直方图中绘制一些值.是一种将画布框架旋转/映射到笛卡尔坐标系的简单方法.

html5 canvas

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

使用\ d扫描字符串中的Unicode数字

根据Oniguruma文档,\d字符类型匹配:

decimal digit char
Unicode:General_Category - Decimal_Number

但是,\d在包含所有Decimal_Number字符的字符串中扫描会导致仅匹配拉丁0-9位数:

#encoding: utf-8
require 'open-uri'
html = open("http://www.fileformat.info/info/unicode/category/Nd/list.htm").read
digits = html.scan(/U\+([\da-f]{4})/i).flatten.map{ |s| s.to_i(16) }.pack('U*')

puts digits.encoding, digits
#=> UTF-8
#=> 0123456789?????????????????????????????????????????????????????…

p RUBY_DESCRIPTION, digits.scan(/\d/)
#=> "ruby 1.9.2p180 (2011-02-18) [i386-mingw32]"
#=> ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
Run Code Online (Sandbox Code Playgroud)

我误读了文档吗?为什么不\d匹配其他Unicode数字,和/或有没有办法让它这样做?

ruby regex unicode character-properties

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

使用Ruby和Nokogiri解析大型XML文件

我有一个大的XML文件(大约10K行)我需要定期解析这种格式:

<summarysection>
    <totalcount>10000</totalcount>
</summarysection>
<items>
     <item>
         <cat>Category</cat>
         <name>Name 1</name>
         <value>Val 1</value>
     </item>
     ...... 10,000 more times
</items>
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用nokogiri解析每个节点,以计算一个类别中的项目数量.然后,我想从total_count中减去该数字,得到一个读数为"Count of Interest_Category:n,Count of All Else:z"的输出.

这是我现在的代码:

#!/usr/bin/ruby

require 'rubygems'
require 'nokogiri'
require 'open-uri'

icount = 0 
xmlfeed = Nokogiri::XML(open("/path/to/file/all.xml"))
all_items = xmlfeed.xpath("//items")

  all_items.each do |adv|
            if (adv.children.filter("cat").first.child.inner_text.include? "partofcatname")
                icount = icount + 1
            end
  end

othercount = xmlfeed.xpath("//totalcount").inner_text.to_i - icount 

puts icount
puts othercount
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但速度很慢!对于10,000件物品,我说的时间超过10分钟.有一个更好的方法吗?我是以不太理想的方式做事吗?

ruby xml nokogiri

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

设置断点并调试eval'd JavaScript

*现在用客户端JS解析XML文件,并生成复杂的JS代码,eval作为一个结果.(生成由运行时启动的可重用函数.)但是,我需要调试生成的代码,并希望使用Chrome的内置断点,步进,观察窗口等.

有没有比这更简单的方法:

  • 将生成的JS字符串转储到控制台和/或窗口.
  • 复制JavaScript
  • (可选)通过像JSBeautifier这样的美化器运行JS .
  • 将JS粘贴到通过<script src="...">另一个网页加载的文件中.

*实际上,我的一个朋友正在这样做,而不是我

javascript debugging

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

编译Lua而不在字符串和数字之间自动转换

Lua通常是一种强类型语言,几乎不提供数据类型之间的隐式转换.

但是,在少数情况下,数字和字符串会自动强制执行:

Lua在运行时提供字符串和数字值之间的自动转换.应用于字符串的任何算术运算都会尝试将此字符串转换为符合Lua词法分析器规则的数字.(该字符串可能有前导和尾随空格以及符号.)相反,只要在预期字符串的位置使用数字,该数字就会以合理的格式转换为字符串

从而:

local x,y,z = "3","8","11"
print(x+y,z)  --> 11   11
print(x+y==z) --> false
print(x>z)    --> true
Run Code Online (Sandbox Code Playgroud)

我不想要这个.如何重新编译Lua解释器以删除所有自动转换?

我更愿意:

print(x+y)    --> error: attempt to perform arithmetic on a string value
print(x>1)    --> error: attempt to compare number with string
print(x..1)   --> error: attempt to concatenate a number value
Run Code Online (Sandbox Code Playgroud)

c lua strong-typing

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

高效的对象参数记忆

简介:是否有更快的方法来散列对象JSON.stringify

详细信息:我有一个Ruby和JavaScript库(NeatJSON),它提供了漂亮的JavaScript值打印.我最近修复了一个问题,其中深度嵌套的对象使用基于被序列化的对象和缩进量的memoization 导致O(n!)性能(n是嵌套级别).

在Ruby中,修复非常简单,因为您可以通过唯一对象集的数组来索引哈希:

build = ->(object,indent) do
  memoizer[[object,indent]] ||= <all the rest of the code>
end
Run Code Online (Sandbox Code Playgroud)

但是,在JavaScript中,我无法通过另一个对象(以独特的方式)索引对象.在我在网上发现的几篇文章的引导下,我决定一般性地修复这个问题,使用JSON.stringify函数的完整参数集来创建一个唯一的memoization密钥:

function memoize(f){
  var memo  = {};
  var slice = Array.prototype.slice;
  return function(){
    var args = slice.call(arguments);
    var mkey = JSON.stringify(args);
    if (!(mkey in memo)) memo[mkey] = f.apply(this,args);
    return memo[mkey];
  }
}

function rawBuild(o,indent){ .. }
var build = memoize(rawBuild);
Run Code Online (Sandbox Code Playgroud)

这是有效的,但是(a)它比我想要的慢一些,并且(b)对于我要巧妙地序列化的每个对象和值的执行(天真)序列化似乎非常低效(并且不优雅).序列化具有许多值的大对象的行为将在整个对象中存储每个唯一值(不仅仅是叶值)的字符串和格式化结果.

是否有一个现代的JavaScript技巧可以让我唯一地识别一个值?例如,某种访问内部ID的方法,或者将复杂对象与唯一的整数相关联,这些整数需要花费O(1)时间来查找值的标识符?

javascript memoization

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