在剧本中我得到了以下代码:
---
- hosts: db
vars:
postgresql_ext_install_contrib: yes
postgresql_pg_hba_passwd_hosts: ['10.129.181.241/32']
...
Run Code Online (Sandbox Code Playgroud)
我想postgresql_pg_hba_passwd_hosts用我所有的webservers私有ips替换值.我知道我能得到这样的价值观这样一个模板:
{% for host in groups['web'] %}
{{ hostvars[host]['ansible_eth1']['ipv4']['address'] }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
将此循环的结果分配给剧本中的变量的最简单/最简单的方法是什么?或者,有没有更好的方法来收集这些信息?我应该把这个循环放在模板中吗?
额外的挑战:我必须添加/32到每个条目.
当更新到使用android gradle插件0.7.0和gradle 1.9的Android Studio 0.4时,会出现以下错误:
org.gradle.api.internal.MissingMethodException:找不到方法jniDir()...
它指的是我的build.gradle中的以下行:
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File(projectDir, 'native-libs')
}
Run Code Online (Sandbox Code Playgroud)
PS:这些答案为我解决了所有其他升级问题:
在OrmLite中,表的名称是它所基于的类的名称,或者是在@DatabaseTable(tableName = "...")注释该类时定义的任何名称.
有没有一种方便的方法来在运行时获取表的名称?在我的情况下,我需要升级数据库时所有表的名称,以便根据这些表重新创建数据库触发器.
我已经检查了http://ormlite.com/javadoc/ormlite-core/com/j256/ormlite/table/TableInfo.html,但我不明白ID应该是什么.
为什么以下不起作用?
import java.util.function.Function;
public class MethodRefTest {
public String passMeAround( String input ) {
return input + " been passed to me";
}
public Function<String, String> testReferences() {
final Function<String, String> f1 = MethodRefTest::passMeAround;
return f1;
}
public static void main( String[] args ) {
new MethodRefTest()
.testReferences()
.apply( "foo" );
}
}
Run Code Online (Sandbox Code Playgroud)
Javac告诉我:
MethodRefTest.java:14: error: invalid method reference
final Function<String, String> f1 = MethodRefTest::passMeAround;
^
non-static method passMeAround(String) cannot be referenced from a static context
1 error
Run Code Online (Sandbox Code Playgroud)
我不明白为什么上下文是静态的 …
我试图让Mockito(1.9.5 rc1)在我的Android测试中工作(使用Robotium).为了让它在DVM上运行,我将dexmaker.jar和dexmaker-mockito.jar(v 0.9)放在test-project的类路径中.
在Eclipse中作为Android JUnit测试进行测试后运行:
package com.stampay.pos.test;
import roboguice.RoboGuice;
import android.app.Application;
import com.jayway.android.robotium.solo.Solo;
import com.stampay.pos.activities.HomeActivity;
import com.stampay.pos.model.Consumer;
import com.stampay.pos.util.ScannerAndroid;
import static org.mockito.Mockito.*;
public class HomeActivityTest extends ActivityTest<HomeActivity> {
private Solo solo;
Application app;
public HomeActivityTest() {
super(HomeActivity.class);
}
@Override
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
RoboGuice.util.reset();
}
public void testScan() throws Exception {
ScannerAndroid scanner = (ScannerAndroid) getActivity().getScannerHelper();
Consumer mockConsumer = mock(Consumer.class);
//scanner.generateResult("consumer1");
}
}
Run Code Online (Sandbox Code Playgroud)
我得到以下堆栈跟踪: …
我想将以下字符串解析为go中的日期:
"This item will be released on March 9, 2014."
Run Code Online (Sandbox Code Playgroud)
我跟着这个,然后上来了:
func findReleaseDateString(raw string) time.Time {
test, err := time.Parse("This item will be released on January 2, 2006.", raw)
if err != nil {
panic(err)
}
return test
}
Run Code Online (Sandbox Code Playgroud)
这就像英国字符串的魅力.
我的问题:我想解析德语字符串.喜欢:
"Dieser Artikel wird am 9. März 2014 erscheinen."
Run Code Online (Sandbox Code Playgroud)
我知道,我可以通过正则表达式匹配日,月和年,然后解析它.但有没有可能告诉time.Parse使用一组不同的常量?
我使用带有cache_digests的rails 3,我在模板中有一个片段缓存:
<% cache [I18n.locale,'city-list'] do %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
在观察者中,我想使所有语言环境的缓存过期,如下所示:
I18n.available_locales.each do |loc|
ActionController::Base.new.expire_fragment("#{loc}/city-list")
end
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用,因为我在过期调用中错过了该片段的摘要.
有没有一种方法可以使此缓存过期?