我尝试以特定形式获取提交按钮的jQuery对象(同一页面上有多个表单).
我设法获得了表单元素.它看起来像这样:
var curForm = curElement.parents("form");
Run Code Online (Sandbox Code Playgroud)
当前Element具有上下文HTMLInputElement.我尝试获取表单的相应提交元素的几种技术:
var curSubmit = curForm.find("input[type='submit']");
var curSubmit = $(curForm).find("input[type='submit']");
var curSubmit = curForm.find(":submit");
var curSubmit = $(curForm).find(":submit");
var curSubmit = $(curSubmit, "input[type='submit']");
Run Code Online (Sandbox Code Playgroud)
结果总是一样的(非常奇怪).我得到的结果与"curElement"相同.
那么如何才能获得正确的提交按钮?
我正在玩模式匹配,我发现,将方法的匹配参数与空映射进行模式化并不容易.我认为它会是这样的:
defmodule PatternMatch do
def modify(%{}) do
%{}
end
def modify(map) do
# expensive operation
%{ modified: "map" }
end
end
Run Code Online (Sandbox Code Playgroud)
但似乎第一个函数子句匹配任意映射:
iex> PatternMatch.modify(%{a: "map"})
==> %{}
Run Code Online (Sandbox Code Playgroud)
还有另一种检查空地图的方法吗?
给出以下代码示例:
public class WeirdStuff {
public static int doSomething() {
while(true);
}
public static void main(String[] args) {
doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个有效的Java程序,虽然方法doSomething()应该返回一个int但从来没有.如果你运行它,它将以无限循环结束.如果将while循环的参数放在一个单独的变量中(例如boolean bool = true),编译器会告诉你在这个方法中返回一个int.
所以我的问题是:这是Java规范中的某个地方,是否存在这种行为可能有用的情况?
我目前正在尝试grep
针对更大的csv文件(3.000.000行)的大量ID(~5000).
我想要所有csv行,包含id文件中的id.
我天真的做法是:
cat the_ids.txt | while read line
do
cat huge.csv | grep $line >> output_file
done
Run Code Online (Sandbox Code Playgroud)
但这需要永远!
有没有更有效的方法解决这个问题?
RVM无法通过SSH工作.
在命令行:
leifg@host:~$ which ruby
/usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby
Run Code Online (Sandbox Code Playgroud)
通过SSH连接:
local:~$ ssh leifg@server 'which ruby'
/usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)
我正在使用Ubuntu 11.04.
如何让SSH使用与系统上相同的Ruby?
我已经验证了一些先决条件:
apt-get install ruby
.这有什么不同吗?sshd_config
有"PermitUserEnvironment yes"选项,我重新启动了守护进程.服务器上的.bashrc包含这些行,但是当我删除它们时会看到相同的行为:
if [ -s "$HOME/.rvm/scripts/rvm" ] ; then
. "$HOME/.rvm/scripts/rvm"
elif [ -s "/usr/local/rvm/scripts/rvm" ] ; then
. "/usr/local/rvm/scripts/rvm"
fi
Run Code Online (Sandbox Code Playgroud) 我最近与同事讨论了为什么Java中的List接口没有head()
和tail()
方法.
为了实现这样的功能,必须编写一个看起来像这样的包装器:
public E head() {
if (underlyingList == null || underlyingList.isEmpty())
return null;
return underlyingList.get(0);
}
public E tail() {
if (underlyingList == null || underlyingList.isEmpty())
return null;
return underlyingList.get(underlyingList.size()-1);
}
Run Code Online (Sandbox Code Playgroud)
我不知道所有的List实现,但我认为至少在LinkedList和ArrayList中,获取最后一个元素(常量时间)应该是非常简单的.
所以问题是:
是否有一个特定的原因为什么为任何List实现提供tail方法不是一个好主意?
我成功编写了一个小的Sinatra应用程序,并已成功部署在heroku上.
但是,我想在我的本地计算机上以开发模式运行该应用程序,并且我希望在将它推送到远程存储库后在heroku上具有生产模式.
目前我可以实现其中一个选项.当我将config.ru更改为以下值时:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :development
set :port, 4567
Run Code Online (Sandbox Code Playgroud)
我可以通过本地(在端口4567上)运行它ruby config.ru
.当我将config.ru更改为:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :production
set :port, 4567
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
我能够让它在Heroku上运行(在端口80上).
但我不能在开发和生产中使用相同的配置.
我希望有类似的东西:
ruby config.ru dev
用于开发和ruby config.ru
生产.
附加信息:
当我尝试在我的本地机器上运行生产config.ru时,我得到:
$ ruby config.ru
(eval):2:in `method_missing': undefined method `run' for main:Object (NoMethodError)
from (eval):4:in `__send__'
from (eval):4:in `method_missing'
from config.ru:10
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个小的Sinatra Ruby应用程序.对于表示层,我使用HAML,效果很好.
但是我有一个常见问题解答页面,其中有较长的文本段落,这不是问题.但在某些段落中,我想要包含链接.使用纯HTML,这很容易实现,并且仍然可读.
<p>
I'm talking about <a href="http://ruby-lang.org">Ruby</a> in this text.
</p>
Run Code Online (Sandbox Code Playgroud)
有了HAML,我坚持使用这些新段落,然后看起来像这样:
%p
I'm talking about
%a {:href => 'http://ruby-lang.org'}>Ruby
in this text.
Run Code Online (Sandbox Code Playgroud)
我认为这确实打破了工作流程.
HAML中是否有一种方法可以在不使用换行符的情况下插入链接?
我目前正在Elixir写一个小试飞员.我想使用模式匹配来评估文件是否是规范格式(以"_spec.exs"结尾).有很多关于如何在字符串的开头进行模式匹配的教程,但是这不知道如何在字符串结尾处起作用:
defp filter_spec(file <> "_spec.exs") do
run_spec(file)
end
defp run_spec(file) do
...
end
Run Code Online (Sandbox Code Playgroud)
这总是在编译错误中结束:
== Compilation error on file lib/monitor.ex ==
** (CompileError) lib/monitor.ex:13: a binary field without size is only allowed at the end of a binary pattern
(stdlib) lists.erl:1337: :lists.foreach/2
(stdlib) erl_eval.erl:669: :erl_eval.do_apply/6
Run Code Online (Sandbox Code Playgroud)
那有什么解决方案吗?
高效地解决单词(对于人类和计算机)现在非常流行。
解决单词的一种特殊方法让我很好奇。这个想法是选择 5 个具有不同字母的单词,这样您最终将得到 25 个字符。如果您使用这 5 个单词作为游戏中的前 5 个猜测,您将有接近 100% 的机会在最后一次猜测中得到正确的单词(它本质上是所有线索的字谜,您可能会得到一个一些绿色的)。建议使用一组单词(所有单词都是有效的英语单词):
但这让我想知道:这 5 个单词组合中有多少个,我开始制定递归算法,但我几乎要放弃了。
我最初的想法是:
但这只有在您有一组按顺序排列的五个不同单词时才真正有效。
对于此列表:
我最终会得到:[brick, feast, jumpy, vozhd]
因为feast
出现在前面glent
并将其过滤掉,但最终glent
会是更好的选择。
我无法找到针对这个特定问题的任何算法,所以我想知道是否有任何现有算法可以应用于此?