如果你有一个关联数组:
Array
(
[uid] => Marvelous
[status] => 1
[set_later] => Array
(
[0] => 1
[1] => 0
)
[op] => Submit
[submit] => Submit
)
Run Code Online (Sandbox Code Playgroud)
而你想要访问第二项,你会怎么做?$arr[1]似乎没有工作:
foreach ($form_state['values']['set_later'] as $fieldKey => $setLater) {
if (! $setLater) {
$valueForAll = $form_state['values'][$fieldKey];
$_SESSION[SET_NOW_KEY][array_search($valueForAll, $form_state['values'])] = $valueForAll; // this isn't getting the value properly
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码应该产生:
$_SESSION[SET_NOW_KEY]['status'] = 1
Run Code Online (Sandbox Code Playgroud)
但它只是产生一个空白条目.
我觉得因为无法找到这个而感到愚蠢,但是Eclipse的JUnit插件在哪里?我.jar在构建路径中包含了最新版本,但我仍然无法创建新的测试用例,使用绿色/红色条运行测试用例等.我需要这个插件,对吧?
编辑:我正在使用"Eclipse for PHP Developers".所以也许这不会自动包含JUnit.我是否必须再次下载Eclipse,或者我能以某种方式获得该功能吗?
可能重复:
如何在python中生成动态(参数化)单元测试?
我有一个测试函数under_test,和一组预期的输入/输出对:
[
(2, 332),
(234, 99213),
(9, 3),
# ...
]
Run Code Online (Sandbox Code Playgroud)
我希望这些输入/输出对中的每一个都能用自己的test_*方法进行测试.那可能吗?
这是我想要的,但强制每个输入/输出对进入一个测试:
class TestPreReqs(unittest.TestCase):
def setUp(self):
self.expected_pairs = [(23, 55), (4, 32)]
def test_expected(self):
for exp in self.expected_pairs:
self.assertEqual(under_test(exp[0]), exp[1])
if __name__ == '__main__':
unittest.main()
Run Code Online (Sandbox Code Playgroud)
(另外,我真的想把这个定义放进self.expected_pairs去setUp吗?)
更新:尝试doublep的建议:
class TestPreReqs(unittest.TestCase):
def setUp(self):
expected_pairs = [
(2, 3),
(42, 11),
(3, None),
(31, 99),
]
for k, pair in expected_pairs:
setattr(TestPreReqs, 'test_expected_%d' % k, create_test(pair))
def create_test (pair): …Run Code Online (Sandbox Code Playgroud) 我有一个咕噜咕噜的任务,调用其他grunt任务.我想用编程确定的参数调用子任务.这可能吗?我花了一些时间挖掘lib/grunt.js和lib/grunt/task.js,但无法弄明白.
我正在使用Gruntfile.js中grunt-compass指定的以下参数:
compass: {
default_options: {
src: 'components/201',
dest: 'build',
require: ['zurb-foundation']
}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在运行时覆盖它们:
tasks/my-task.js:
// simplified example
module.exports = function(grunt) {
grunt.registerTask('foo', 'bar', function() {
var chooseDest = doWork();
grunt.task.run('compass', {src: 'src', dest: chooseDest});
});
};
Run Code Online (Sandbox Code Playgroud)
以供参考:
$ grunt --version
grunt-cli v0.1.6
grunt v0.4.0rc6
Run Code Online (Sandbox Code Playgroud) 我正在构建一个Java Google App Engine服务器项目和一个Java桌面客户端.我想同时运行它们,但我不确定使用Eclipse/GAE插件是否可行.有什么办法吗?我希望能够同时介绍它们.
我尝试打开一个新的Eclipse实例,但它抱怨工作区已经在使用,两个项目都在同一个工作区中.(也许我可以将它们移动到不同的工作区.)
我听说在某些语言中被称为"盒装"的类型.
在Java中,我听说过"autoboxing".这是什么?它是否有类型的包装类?如果我使用盒装或非盒装类型,我的代码会如何变化?
我正在实现一些算法来教自己关于图形以及如何使用它们.你会推荐什么是在Java中最好的方法?我在想这样的事情:
public class Vertex {
private ArrayList<Vertex> outnodes; //Adjacency list. if I wanted to support edge weight, this would be a hash map.
//methods to manipulate outnodes
}
public class Graph {
private ArrayList<Vertex> nodes;
//algorithms on graphs
}
Run Code Online (Sandbox Code Playgroud)
但我基本上只是做了这件事.有没有更好的办法?
此外,我希望它能够支持诸如有向图,加权边,多图等香草图的变化.
我连接到MySQL数据库的程序运行正常.然后,在不更改用于设置连接的任何代码的情况下,我得到以下异常:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Run Code Online (Sandbox Code Playgroud)
发生了什么?
用于获取连接的代码:
private static Connection getDBConnection() throws SQLException, InstantiationException, IllegalAccessException, ClassNotFoundException {
String username = "user";
String password = "pass";
String url = "jdbc:mysql://www.domain.com:3306/dbName?connectTimeout=3000";
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
Run Code Online (Sandbox Code Playgroud) 我想腌制一个namedtuple:
from collections import namedtuple
import cPickle
class Foo:
Bar = namedtuple('Bar', ['x', 'y'])
def baz(self):
s = set()
s.add(Foo.Bar(x=2, y=3))
print cPickle.dumps(s)
if __name__ == '__main__':
f = Foo()
f.baz()
Run Code Online (Sandbox Code Playgroud)
这会产生以下输出:
Traceback (most recent call last):
File "scratch.py", line 15, in <module>
f.baz()
File "scratch.py", line 11, in baz
print cPickle.dumps(s)
cPickle.PicklingError: Can't pickle <class '__main__.Bar'>: attribute lookup __main__.Bar failed
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?问题Bar是成员Foo吗?(将定义Bar移到顶层可以解决问题,尽管我仍然很好奇为什么会发生这种情况.)
如果我有一个像这样的字符串:
"{0} {1} {1}" % ("foo", "bar")
Run Code Online (Sandbox Code Playgroud)
而且我要:
"foo bar bar"
Run Code Online (Sandbox Code Playgroud)
替换令牌必须是什么?(我知道上面的例子不正确;我只是想表达我的目标.)
java ×5
python ×3
eclipse ×2
autoboxing ×1
graph ×1
gruntjs ×1
ide ×1
javascript ×1
jdbc ×1
junit ×1
mysql ×1
node.js ×1
php ×1
pickle ×1
plugins ×1
tdd ×1
terminology ×1
type-systems ×1
types ×1
unit-testing ×1