我正在使用Project Euler问题来帮助我学习clojure,而且我遇到了一个我无法弄清楚的异常.nillify和change-all在底部定义以供参考.
(loop [the-vector (vec (range 100))
queue (list 2 3 5 7)]
(if queue
(recur (nillify the-vector (first queue)) (next queue))
the-vector))
Run Code Online (Sandbox Code Playgroud)
这会引发NullPointerException,我无法弄清楚原因.我可以看到可以抛出这样一个异常的代码的唯一部分是对nillify的调用,但是在抛出异常之前看起来似乎队列只有一个元素 - 即使队列是变得空虚,这就是if语句的用途.
有任何想法吗?
"给定一个向量,一个值和一个索引列表,返回一个w/everthing @ indice = value的向量"
(defn change-all [the-vector indices val]
(apply assoc the-vector (interleave indices (repeat (count indices) val))))
Run Code Online (Sandbox Code Playgroud)
"给定一个向量和一个val,返回一个向量,其中索引等于val的倍数的所有条目都是nilled,但保留原始未触及的"
(defn nillify [coll val]
(change-all coll (range (* 2 val) (inc (last coll)) val) nil))
Run Code Online (Sandbox Code Playgroud) 只是想知道,如果压缩jar文件一般是一个好主意,这些文件将与桌面应用程序一起发送(没有网络访问jar),如果解压缩将比文件io具有更大的影响.
编辑:谢谢你到目前为止的答案,并抱歉在这里有点不清楚.我没有谈到将罐子运送给客户,而是在应用程序启动时将磁盘上的jar文件的最佳格式.我知道jar文件是zip文件,可以提供不同的压缩级别(或根本没有压缩),我直接想知道压缩如何改变启动性能,不仅仅是在我的开发盒上(其中有一个快速的SSD磁盘) ,但也在较慢的磁盘上).
我已经尝试了一个小时左右来检测我的scrollView何时到达屏幕的底部.由于各种屏幕尺寸和Android没有涉及的内容,我不能简单地说当它的Y位置达到某个值时它位于底部,但是没有方法可以检测到它在底部是否找到了.
我确信这有一个简单的解决方案,通过其他变量或其他东西减去视图的高度,但由于某种原因它只是没有点击我.任何想法将不胜感激,谢谢.
如果考虑二进制信号量和互斥量,哪一个更快?我的意思是,减少指示.与信号量相比,互斥体还有哪些额外的数据?
我们有一个自定义画布,其中有专门的节点,其行为很像标准的MDI应用程序的窗口.期望的行为是,如果"窗口"的任何子控件具有焦点,则该"窗口"被认为是活动的.
现在,IsFocused属性似乎没有级联,这意味着如果子控件具有焦点,它的容器也不会设置为"聚焦",因此我们无法使用它.出于同样的原因,我们无法在容器上设置IsFocused属性,因为我相信它会从孩子那里偷走它.
我唯一的想法是创建一个名为HasChildWithFocus的新DP或类似的东西,然后在代码隐藏中,监听冒泡事件并设置该标志.不确定这是最好的方式.(我们可以将它作为附加属性/附加行为的组合来实现.)
但当然,如果我们可以简单地问一个控件'嘿......你或你的孩子有焦点吗?'会好得多.
你也可以吗?
我正在尝试编写一个正则表达式,它将匹配包含表单的名称 - 值对的字符串:
<name> = <value>, <name> = <value>, ...
Run Code Online (Sandbox Code Playgroud)
其中<value>是C#字符串文字.我已经知道我需要通过这个正则表达式找到的s.到目前为止,我有以下内容:
regex = new Regex(fieldName + @"\s*=\s*""(.*?)""");
Run Code Online (Sandbox Code Playgroud)
这种方法效果很好,但在我尝试匹配的字符串使用转义引号的<value>的情况下,它当然无法匹配.我正在努力解决这个问题,我想我需要一个前瞻,但需要一些指示.举个例子,我希望能够匹配下面"困难"命名值的值:
difficult = "\\\a\b\'\"\0\f \t\v", easy = "one"
Run Code Online (Sandbox Code Playgroud)
我很感激你的答案得到了不错的解释,我想学习,而不是复制;-)
我想使用sed全局用字符串bar替换字符串foo.这应仅适用于不以字符串## Input开头的行.
我无法让它发挥作用.我尝试过这样的事情,但达到了我不确定我是否知道自己在做什么的地步:
sed -i '/^##Input/ s/foo/bar/g' myfile
Run Code Online (Sandbox Code Playgroud)
请帮忙!
如何在styles.xml中提供粗体和普通样式?我给出的代码是:
<style name="textbold" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textstyle">bold</item>
</style>
<style name="textregular" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textstyle">normal</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但它在这里显示错误: <item name="android:textstyle">
我无法理解我的错误
方法:
public List<Task> GetAllTasks()
{
var AllTasks = from t in tasks
where t.Status.ToString() == "Completed" || t.Status.ToString() == "Pending"
select t;
return (List<Task>)AllTasks;
}
Run Code Online (Sandbox Code Playgroud)
代码背后:
protected void Page_Load(object sender, EventArgs e)
{
TaskList tdl = (TaskList)Session["TodoList"];
List<Task> AllTasks = tdl.GetAllTasks();
string str = "";
foreach (Task t in AllTasks)
{
str += t.ToString() + "<br />";
}
LblTasks.Text = str;
}
Run Code Online (Sandbox Code Playgroud)
添加任务(AddTask.aspx)后,我重定向到另一个页面以显示它们,然后我得到运行时错误:
无法转换'WhereListIterator 1[Task]' to type 'System.Collections.Generic.List1 [Task]' 类型的对象.
我的LINQ有问题吗?我刚学会了嘿嘿.
谢谢.
我试图按照这篇文章(http://blog.zoolutions.se/post/2010/04/01/Conquering-NServiceBus-part-4-e28093-Testing.aspx)为我的nservicebus saga项目创建单元测试
请参阅以下代码,不确定为什么它总是抱怨任何人都知道如何解决它?
(我使用的是nservice总线2.0)
public class ReportSaga : Saga<ReportSagaData>,
IAmStartedByMessages<RequestReportMessage>,
IHandleMessages<PollingReportStatusMessage>
{
// implementation
}
[TestFixture]
public class ReportSaga_HandleRequestReportMessageTests
{
[TestFixtureSetUp]
public void SetUp()
{
var assemblies = new[]
{
typeof (ReportSaga).Assembly,
typeof (RequestReportMessage).Assembly,
typeof (PollingReportStatusMessage).Assembly,
Assembly.Load("NServiceBus"),
Assembly.Load("NServiceBus.Core")
};
Test.Initialize(assemblies);
}
[Test]
public void HandleRequestReportMessageTests()
{
Test.Handler<ReportSaga>()
.OnMessage<RequestReportMessage>(x =>
{
x.Id = 1234;
x.ReportDate = DateTime.Now;
});
}
}
Test 'UnitTests.ReportSaga_HandleRequestReportMessageTests.HandleRequestReportMessageTests' failed: System.ArgumentException : GenericArguments[0], 'ReportSagaData', on 'NServiceBus.IMessageHandler`1[T]' violates the constraint of type 'T'.
----> System.TypeLoadException : GenericArguments[0], 'ReportSagaData', on …Run Code Online (Sandbox Code Playgroud) android ×2
c# ×2
asp.net ×1
clojure ×1
code-behind ×1
compression ×1
concurrency ×1
containers ×1
focus ×1
focusmanager ×1
jar ×1
java ×1
linq ×1
mdichild ×1
mutex ×1
nservicebus ×1
position ×1
regex ×1
scroll ×1
scrollview ×1
sed ×1
semaphore ×1
unit-testing ×1
wpf ×1