我想包含具有这种伪语法的脚本文件:
Include '.\scripA.ps1'
Run Code Online (Sandbox Code Playgroud)
但我发现的唯一的事情就是这样:
$thisScript = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
. ($thisScript + '.\scriptA.ps1')
Run Code Online (Sandbox Code Playgroud)
那很难看.
是否有一些很好的方法来包含具有相对路径的脚本?
运行这样的脚本:
1: function foo()
2: {
3: bar
4: }
5:
6: function bar()
7: {
8: throw "test"
9: }
10:
11: foo
Run Code Online (Sandbox Code Playgroud)
我知道了
test
At C:\test.ps1:8 char:10
Run Code Online (Sandbox Code Playgroud)
我可以获得详细的堆栈跟踪吗?
At bar() in C:\test.ps1:8
At foo() in C:\test.ps1:3
At C:\test.ps1:11
Run Code Online (Sandbox Code Playgroud) Android上的文件名允许哪些特殊字符?
~!@#$%^&*()_+/\.,
Run Code Online (Sandbox Code Playgroud)
另外,我可以用Unicode名称保存文件吗?
我有一个主题,将TextView的textColor指定为红色.
我正在使用LayoutInflater来实例化TextView.问题是当使用ApplicationContext创建的inflater时,样式不会应用于TextView - 颜色不是红色.使用activity创建LayoutInflater时,一切正常.
为什么会发生这种情况,如何解决?
/res/values/styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme">
<item name="android:textViewStyle">@style/MyTextView</item>
</style>
<style name="MyTextView" parent="@android:style/Widget.TextView">
<item name="android:textColor">#f00</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中:
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/MyTheme"
>
Run Code Online (Sandbox Code Playgroud)
码:
public class A extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_a);
final LayoutInflater goodInflater = getInflater((Activity)this);
final LayoutInflater badInflater = getInflater(getApplicationContext());
final LinearLayout container = (LinearLayout)findViewById(R.id.container);
findViewById(R.id.add_with_appContext).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
add(container, badInflater); // Creates gray TextView
}
});
findViewById(R.id.add_with_activity).setOnClickListener(new OnClickListener() {
@Override
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成这样的HTML
<form action="/some/process" method="post">
<input type="hidden" name="foo.a" value="aaa"/>
<input type="hidden" name="bar.b" value="bbb"/>
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
所以它可以被这个Action处理:
public ActionResult Process(Foo foo, Bar bar)
{
...
}
Run Code Online (Sandbox Code Playgroud)
给定Action代码
public ActionResult Edit()
{
ViewData["foo"] = new Foo { A = "aaa" };
ViewData["bar"] = new Bar { B = "bbb" };
return View();
}
Run Code Online (Sandbox Code Playgroud)
我应该在Edit.aspx视图中写什么?我不想手动写名字'foo.a'和'bar.b'.
当我更改任何.java文件并构建时,编译需要16秒.我不明白为什么它应该这么慢!?
我为Andoroid启用了详细输出.
Window > Preferences > Android > Build output > Verbose.
Run Code Online (Sandbox Code Playgroud)
结果输出(Console> Android)是:
[19:46:10] Refreshing resource folders.
[19:46:10] Starting incremental Pre Compiler: Checking resource changes.
[19:46:10] Nothing to pre compile!
[19:46:10] Starting incremental Package build: Checking resource changes.
[19:46:10] ignored resource ...\bin\.\classes.dex
[19:46:10] processing ...\A.class
[19:46:10] processing ...\B.class
...
[19:46:21] processing com/google/inject/util/Providers.class...
[19:46:21] processing com/google/inject/util/Types.class...
[19:46:24] Using default debug key to sign package
[19:46:24] Packaging ...\bin\resources.ap_
[19:46:24] Packaging classes.dex
...
[19:46:25] Packaging ...\annotations.jar
[19:46:25] Build Success!
[19:46:25] Refreshing resource …Run Code Online (Sandbox Code Playgroud) 我想混淆一些包:
com.foo.*
com.bar.*
Run Code Online (Sandbox Code Playgroud)
我试过了
-keepclasseswithmembers class **, !com.foo.**, !com.bar.** { *; }
Run Code Online (Sandbox Code Playgroud)
和
-keepclasseswithmembers class !com.foo.** { *; }
-keepclasseswithmembers class !com.bar.** { *; }
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,来自com.foo.*和com.bar.*的类都没有被混淆.
要在我使用的普通Java应用程序中启用apache commons HttpClient的日志记录:
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "debug");
Run Code Online (Sandbox Code Playgroud)
但在android上我没有看到LogCat中的日志.
我错过了什么吗?
考虑这样的循环:
for(var it = 0; it < 2; it++)
{
setTimeout(function() {
alert(it);
}, 1);
}
Run Code Online (Sandbox Code Playgroud)
输出是:
=> 2
=> 2
Run Code Online (Sandbox Code Playgroud)
我希望它是:0,1.我看到两种方法来解决它:
解决方案#1.
这个基于我们可以将数据传递给setTimeout的事实.
for(var it = 0; it < 2; it++)
{
setTimeout(function(data) {
alert(data);
}, 1, it);
}
Run Code Online (Sandbox Code Playgroud)
解决方案#2.
function foo(data)
{
setTimeout(function() {
alert(data);
}, 1);
}
for(var it = 0; it < 2; it++)
{
foo(it);
}
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?
当我用proguard.cfg导出android项目时,所有引用的.jar文件也会被混淆.如何从混淆中排除一些.jars?
android ×5
obfuscation ×2
powershell ×2
proguard ×2
asp.net-mvc ×1
closures ×1
coding-style ×1
compilation ×1
exception ×1
filenames ×1
include ×1
javascript ×1
loops ×1
performance ×1
scope ×1
stack-trace ×1
themes ×1
view ×1