小编Max*_*ams的帖子

JS排序适用于Firefox但不适用于IE - 无法解决原因

我在javascript函数中有一行,它根据另一个字符串数组的顺序对一个对象数组进行排序.这是在Firefox中工作但不在IE中,我不知道为什么.这是我的数据在IE7中进入排序调用的样子.(我正在使用三个项目的数组来说明这一点).

//cherry first then the rest in alphabetical order
originalData = ['cherry','apple','banana','clementine','nectarine','plum']

//data before sorting - note how clementine is second item - we wan to to to be after apple and banana
csub = [
  {"value":"cherry","data":["cherry"],"result":"cherry"},
  {"value":"clementine","data":["clementine"],"result":"clementine"},
  {"value":"apple","data":["apple"],"result":"apple"},
  {"value":"banana","data":["banana"],"result":"banana"},
  {"value":"nectarine","data":["nectarine"],"result":"nectarine"},
  {"value":"plum","data":["plum"],"result":"plum"}
]

//after sorting, csub has been rearranged but still isn't right: clementine is before banana. in FF it's in the right place.
csubSorted = [
  {"value":"cherry","data":["cherry"],"result":"cherry"},
  {"value":"apple","data":["apple"],"result":"apple"},
  {"value":"clementine","data":["clementine"],"result":"clementine"},
  {"value":"banana","data":["banana"],"result":"banana"},
  {"value":"nectarine","data":["nectarine"],"result":"nectarine"},
  {"value":"plum","data":["plum"],"result":"plum"}
]
Run Code Online (Sandbox Code Playgroud)

这是实际的排序代码:

 csubSorted = csub.sort(function(a,b){ return (originalData.indexOf(a.value) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

如何覆盖jquery的show()和hide()函数

问题的简短版本:见标题

问题的长版:我在代码中广泛使用了jquery的show()和hide()函数,只是遇到了一些问题:它们分别通过将元素的display属性更改为'block'或'none'来工作,如果你有一些显示内容:内联然后隐藏并显示它,你已经将它的显示更改为阻止,这在几种情况下搞砸了布局.

在我的代码中,每当我想要隐藏某些东西时,我会给它一个"隐藏"的类.这个类只是{display:none}.我希望更改显示并隐藏以删除或添加此类,而不是直接更改显示属性,这样如果您添加隐藏类然后再次删除它(即隐藏并显示某些内容),那么它又回到了如何它是从一开始就开始的(因为添加一个类会覆盖属性而不是直接更改它们).像这样的东西(这是一个小小的pseucodey,因为我不知道如何正确设置功能 - 让我们假设'this'是显示/隐藏被调用的对象)

function show(){
  this.removeClass("hidden");
} 

function hide(){
  this.addClass("hidden");
} 
Run Code Online (Sandbox Code Playgroud)

如何以及在哪里重写jquery方法?(我不是javascript专家)

谢谢 - 最大

jquery

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

memcached restart启动一个新的memcached并且不会杀死旧的memcached

我正在生产模式和登台模式下运行我的rails应用程序在同一台服务器上,在不同的文件夹中.他们都使用memcache-client,需要运行memcached.

到目前为止,我还没有设置部署脚本,因此只需通过sshing到服务器,进入相应的目录,更新代码,重新启动memcached,然后重新启动unicorn(实际运行rails应用程序的进程)来手动部署.我重新启动了memcached:

sudo /etc/init.d/memcached restart &
Run Code Online (Sandbox Code Playgroud)

这会启动一个新的memcached,但它不会杀死旧的:检查出来:

ip-<an-ip>:test.millionaire[subjects]$ ps afx | grep memcache
11176 pts/2    S+     0:00  |           \_ grep --color=auto memcache
10939 pts/3    R      8:13              \_ sudo /etc/init.d/memcached restart
 7453 ?        Sl     0:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1

ip-<an-ip>:test.millionaire[subjects]$ sudo /etc/init.d/memcached restart &
[1] 11187

ip-<an-ip>:test.millionaire[subjects]$ ps afx | grep memcache
11187 pts/2    T      0:00  |           \_ sudo /etc/init.d/memcached restart
11199 pts/2    S+     0:00  |           \_ grep --color=auto memcache
10939 pts/3    R      8:36              \_ sudo …
Run Code Online (Sandbox Code Playgroud)

memcached

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

设置svn:忽略特定文件夹中任何内容的属性(但不是文件夹本身)

我有这个文件夹

public/assets/dvd_files/dvds/
Run Code Online (Sandbox Code Playgroud)

我想svn忽略可能出现在其中的任何东西.我认为这样可行:

 svn propset svn:ignore * public/assets/dvd_files/dvds/
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

svn: Cannot set 'svn:ignore' on a file ('Capfile')
Run Code Online (Sandbox Code Playgroud)

谁能让我直截了当地说我在这里做错了什么?干杯,最大

svn svnignore

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

Ruby与正则表达式分裂 - 正则表达式没有做我想要的

我有这个字符串

string = "<p>para1</p><p>para2</p><p>para3</p>"
Run Code Online (Sandbox Code Playgroud)

我想分开para2文本,以便我得到这个

["<p>para1</p>", "<p>para3</p>"]
Run Code Online (Sandbox Code Playgroud)

问题是有时para2可能没有包装在p标签中(并且p外部和内部可能有可选空格).我以为这样做会:

string.split(/\s*(<p>)?\s*para2\s*(<\/p>)?\s*/)
Run Code Online (Sandbox Code Playgroud)

但是,我明白了:

["<p>para1</p>", "<p>", "</p>", "<p>para3</p>"]
Run Code Online (Sandbox Code Playgroud)

它不会将开始和结束p标记拉入匹配模式 - 它们应该作为拆分的一部分被删除.默认情况下Ruby的正则表达式是贪婪的,所以我认为它们会被拉入.而且,如果我做一个gsub而不是分裂,这似乎得到了证实:

string.gsub(/\s*(<p>)?\s*para2\s*(<\/p>)?\s*/, "XXX")
=> "<p>para1</p>XXX<p>para3</p>"
Run Code Online (Sandbox Code Playgroud)

他们拉进和摆脱了这里,但不是在分裂.任何人的想法?

谢谢,最大

ruby regex

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

如何在Ruby中拆分CSV字符串?

我在CSV文件中以此行为例:

2412,21,"Which of the following is not found in all cells?","Curriculum","Life and Living Processes, Life Processes",,,1,0,"endofline"
Run Code Online (Sandbox Code Playgroud)

我想把它拆分成一个数组.直接的想法只是在逗号上分开,但是其中一些字符串中有逗号,例如"生命和生活过程,生命过程",这些应该作为数组中的单个元素保留.还要注意,两个逗号之间没有任何内容 - 我希望将它们作为空字符串.

换句话说,我想得到的数组是

[2412,21,"Which of the following is not found in all cells?","Curriculum","Life and Living Processes, Life Processes","","",1,0,"endofline"]
Run Code Online (Sandbox Code Playgroud)

我可以想到涉及eval的hacky方式,但我希望有人能想出一个干净的正则表达式来做...

干杯,最大

ruby regex csv split

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

在PUT请求中处理gzipped正文到heroku

我正在开发一个通过一个安静的xml界面与iphone应用程序通信的rails应用程序.自从他发送各种媒体以来,iphone应用程序开发人员想要抓住他的请求.我认为heroku会自动处理gzipped请求(http://adam.heroku.com/past/2009/4/22/gzip_makes_a_happy_web/),但它似乎没有:我得到一堆乱码的文本,通过它我不知道该怎么处理.

我需要设置我的heroku应用程序来处理这个设置吗?或者一个特定的标题他(iphone dev)需要发送他的请求告诉heroku如何处理它?

有点卡住,任何建议赞赏!谢谢,最大

ruby gzip ruby-on-rails heroku ruby-on-rails-3

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

散列函数保证是唯一的吗?

在我们的应用程序中,我们将传递png图像以及~200​​个字符的字节数组.我想用对应于该bytearray的文件名保存图像,但不是字节数组本身,因为我不想要200个字符的文件名.所以,我认为我会将bytearray保存到数据库中,然后MD5将其保存为短文件名.当需要显示特定图像时,我查找其bytearray,MD5,然后查找该文件.

到现在为止还挺好.问题是潜在的两个不同的bytearray可能会向下散列到同一个MD5.然后,一个文件将有效地覆盖另一个文件.或者他们可以吗?我想我的问题是

  • 可以将两个~200个字节数组MD5哈希到同一个字符串吗?
  • 如果他们可以的话,这是一个每10年一次的宇宙交易,还是可以想象在我的应用程序中发生的事情?
  • 是否有一个哈希算法会产生(比方说)32字符串,保证是唯一的?

hash md5

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

如何在编辑稀疏结账后让git下载一个新文件夹?

我有一个git repo,我只想下载某些子文件夹.我的配置如下所示:

#.git/config

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    sparsecheckout = true
[remote "dreamhost"]
  url = <repo url>
  fetch = +refs/heads/*:refs/remotes/dreamhost/*
[push]
  default = tracking  
Run Code Online (Sandbox Code Playgroud)

.git/info/sparse-checkout我有这个:

themes/theme1
themes/theme8
Run Code Online (Sandbox Code Playgroud)

这是themes我想要的子文件夹中的文件夹.(我不需要其他人,其中很多).

如果我做一个git/pull我可以看到git获取很多东西,包括themes我不想要的子文件夹,这很好.我知道稀疏结账仍然会拉下物体.

我现在想要一份副本themes/theme15,进行一些修改.所以,我.git/info/sparse-checkout这样编辑:

themes/theme1
themes/theme8
themes/theme15
Run Code Online (Sandbox Code Playgroud)

然后做了一个git pull dreamhost master,认为git会添加theme15文件夹themes.但是,没有任何反应 - 它只是说

From <repo url>
 * branch            master     -> FETCH_HEAD
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

和文件夹不在那里.谁能告诉我我做错了什么?编辑后还有一个额外的步骤.git/info/sparse-checkout吗?

谢谢,马克斯

编辑:这是git version 2.8.1顺便说一句

git sparse-checkout

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

如何在 ruby​​ 中编写一个采用散列样式、方括号参数的方法,如 mymethod[arg]?

我想用 ruby​​ 编写一个方法来替换当前仅返回哈希值的方法。

所以目前我们有这个

def some_stats
  {
    :foo => "bar",
    :zoo => "zar"
  }
end
Run Code Online (Sandbox Code Playgroud)

可以这样调用:

some_stats[:foo]
Run Code Online (Sandbox Code Playgroud)

我想用一个用 :foo 调用的方法来替换它,它会做一些更复杂的事情,只是构建一个哈希。但是,我希望以相同的方式调用它,并使用方括号表示法。例如

#this is a bit pseudo-cody but hopefully you get the idea.
def some_stats[](key)
  if key.to_s =~ /something/
    #do something
    return something
  else
    #do something else
    return something_else
  end
end
Run Code Online (Sandbox Code Playgroud)

这仍然会被称为some_stats[:foo]

我无法计算出定义方法名称的语法:上面的方法def some_stats[](key)不起作用。我觉得这应该是可能的。

ruby methods syntax

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