小编mmo*_*ris的帖子

Mathematica 8.0使用HTTP POST和XML与Web服务器JSP交互

我的任务是使用Mathematica通过JSP使用HTTP POST和XML与第三方的Web服务器进行交互.我需要发送的示例:

<html>
<head></head>
<body>
<form method="post" action="http://www. ... .com/login.jsp">
<textarea name="xml" wrap="off" cols="80" rows="30" spellcheck="false">
<loginInfo>
<param name="username" type="string">USERNAME</param>
<param name="pwd" type="string">PASSWORD</param>
</loginInfo>
</textarea>
<input type="hidden" name="Login" value="1"/>
<input type="submit" name="go" value="go" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我将收到的示例(XML):

<UserPluginInfo>
  <PluginInfo>
    <param name="pluginUid" type="string">1</param>
  </PluginInfo>
  <UserInfo>
     <param name="username" type="string">USERNAME</param>
  </UserInfo>
</UserPluginInfo>
Run Code Online (Sandbox Code Playgroud)

我发现Robert Raguet-Schofield在2009年撰写了一篇关于与Twitter交互的博客,博客使用J/Link访问Java来执行HTTP POST并处理响应.

我的问题是,这是完成我的任务的最佳方法,还是自2009年以来Mathematica发展并且有更好的方法(更直接)完成我的任务?

webserver wolfram-mathematica

43
推荐指数
1
解决办法
1630
查看次数

UIKeyboardWillShowNotification和UIKeyboardDidShowNotification报告错误的键盘高度

以下代码(对不起长度)在iOS 4.3下显示奇怪的行为(也许是其他版本).在此示例中,有三个UITextFields具有三个不同大小的键盘.如果您开始编辑一个文本字段,然后触摸"返回"解除键盘,每次正确返回UIKeyboardWillShowNotificationUIKeyboardDidShowNotification使用键盘大小UIKeyboardFrameBeginUserInfoKey.

见下文:

- (void) keyboardWillShowNotification:(NSNotification *)aNotification

- (void) keyboardDidShowNotification:(NSNotification *)aNotification

请注意,这是预期的行为.

action                 reported keyboard size  expected keyboard size  
---------------------  ----------------------  ----------------------
touch one    & return  100                     100
touch two    & return  200                     200
touch normal & return  216                     216
n            & return  keyboard size(n)        keyboard size(n)
Run Code Online (Sandbox Code Playgroud)

意外的行为是,如果您开始编辑文本字段,则会报告(预期)第一个键盘的大小.当您触摸第二个文本字段(不触摸返回)时,将报告(意外)第一个键盘的大小,而不是第二个键盘的大小.当您触摸第三个文本字段(不触及返回)时,将报告第二个键盘大小的大小(意外),而不是第三个大小的大小.对于第二次到第n次,似乎它报告的是先前键盘的大小而不是将要显示的大小.

action        reported keyboard size  expected keyboard size  
------------  ----------------------  ----------------------
touch one     100                     100
touch two     100                     200
touch normal  200                     216
touch …
Run Code Online (Sandbox Code Playgroud)

keyboard size uikeyboard nsnotificationcenter ios

11
推荐指数
1
解决办法
2万
查看次数

Mathematica 8.0从字符串中解析DateList的有效方式,格式为yyyyMMddHHmmssSSS

我有以下字符串:"20110103224832494"它采用以下格式:yyyyMMddHHmmssSSS.yyyy是年份,MM是月份,dd是日,HH是小时,mm是分钟,ss是秒,SSS是毫秒.

我认为以下内容会起作用:

DateList[{"20110103224832494",  
         {"Year", "Month", "Day", "Hour", "Minute", "Second", "Millisecond"}}
]
Run Code Online (Sandbox Code Playgroud)

但回报:

DateString::str: String 20110103224832494 cannot be interpreted as a date in 
format {Year,Month,Day,Hour,Minute,Second,Millisecond}. >>
Run Code Online (Sandbox Code Playgroud)

如果这样有效,它会有效吗?

wolfram-mathematica

9
推荐指数
2
解决办法
619
查看次数

适用于Mac的Wolfram Workbench 2.0中MUnit的位置在哪里?

我有适用于Mac的Mathematica 8.0和Wolfram Workbench 2.0.我想使用MUnit对我正在创建的包进行单元测试,但我发现MUnit上缺少文档令人沮丧.

Sal Mangano的Mathematic Cookbook是最好的资源.第19.11节介绍了"将Wolfram Workbench的MUnit包集成到前端".

我想一旦我将MUnit暴露给前端,我将能够查询MUnit API?.只有一个问题,我找不到MUnit包.我尝试按照书中的建议找到MUnit目录:

find / -name MUnit -print 2> /dev/null
Run Code Online (Sandbox Code Playgroud)

,但没有运气.

wolfram-mathematica

8
推荐指数
2
解决办法
409
查看次数

为什么在iOS 5.0中调用resignFirstResponder两次但在iOS4.2-4.3中只调用一次?

我在App Store中为4.2编译了一个在iOS 5.0下运行时表现奇怪的应用程序.我已将其跟踪到resignFirstResponder在iOS 5.0下被调用两次,而它仅在iOS 4.2和4.3下被调用一次.

我有一个从UITextField我覆盖的地方派生出来的类resignFirstResponder.请参阅下面的示例代码.

在iOS 4.2和4.3下,我在控制台中看到以下内容:

textFieldShouldReturn
resignFirstResponder
textFieldDidEndEditing
Run Code Online (Sandbox Code Playgroud)

在iOS 5.0下,我在控制台中看到以下内容:

textFieldShouldReturn
resignFirstResponder
resignFirstResponder
textFieldDidEndEditing
Run Code Online (Sandbox Code Playgroud)

在设备和模拟器上运行代码可以获得持续的结果.我错过了什么或这是一个错误吗?

iOS 5.0堆栈跟踪

#0  -[BugTextField resignFirstResponder] (self=0x681b530, _cmd=0x3769b41) at /Users/.../BugTextField.m:14
#1  0x006c05a6 in -[UIFieldEditor resignFirstResponder] ()
#2  0x006374e3 in -[UIView(Hierarchy) _willMoveToWindow:] ()
#3  0x006362c2 in __UIViewWillBeRemovedFromSuperview ()
#4  0x006360d7 in -[UIView(Hierarchy) removeFromSuperview] ()
#5  0x006bfff7 in -[UIFieldEditor becomeFieldEditorForView:] ()
#6  0x006ae37b in -[UITextField _resignFirstResponder] ()
#7  0x006eb8d4 in -[UIResponder _finishResignFirstResponder] ()
#8  0x006eba20 in -[UIResponder resignFirstResponder] () …
Run Code Online (Sandbox Code Playgroud)

uitextfield ios resignfirstresponder ios5

7
推荐指数
1
解决办法
2055
查看次数

Mathematica如何使用排序函数有效地找到最小值

我有以下数据对列表:

pairs = {{3, "John"}, {1, "Bob"}, {2, "Jane"}, {1, "Beth"}};
Run Code Online (Sandbox Code Playgroud)

我想找到具有最小第一个值的数据对.在上面的示例中,我正在寻找的是:{1, "Bob"}或者{1, "Beth"},但不是两者.

我可以Sort[pairs, #1[[1]] < #2[[1]] &][[1]]用来完成这个.然而,由于即使是速度最快的O> O(n),也让我觉得必须有一种更有效的方法来做到这一点.

以下给出了正确的答案:

minPair = pairs[[1]];
Map[Function[x, If[x[[1]] < minPair[[1]], minPair = x]], pairs];
minPair;
Run Code Online (Sandbox Code Playgroud)

但是,它比Sort上面的使用慢.我知道,我的Mathematica-fu还没有,所以我的问题.

计时

SetAttributes[TimingDo, HoldRest];
TimingDo[note_String, func_] := 
  results = 
   Append[results, {note , func, Timing[Do[func, {iterations}]][[1]]}];

pairs = {{3, "John"}, {1, "Bob "}, {2, "Jane"}, {1, "Beth"}};
results = {};
iterations = 10000;

TimingDo[ "mmorris[Sort]:               ",
  Sort[pairs, #1[[1]] < #2[[1]] …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

6
推荐指数
1
解决办法
1502
查看次数

设置minuteInterval时UIDatePicker奇怪的行为

以下代码显示了iOS 4.3下的奇怪行为(也许是其他版本).在此示例中,显示UIDatePicker其日期设置为的日期4 Aug 2011 2:31 PM.在UILabel下面UIDatePicker显示的时间以供参考.UIButtons下面的三个,标记为1,5,10,设置minuteIntervalUIDatePicker.

攻丝1 -在显示选择的日期UIDatePicker4 Aug 2011 2:31 PM,与微小间隔是1,这是可以预料的.

攻丝5 -在显示选定的日期UIDatePicker4 Aug 2011 2:35 PM,和分钟间隔为5,这是可以预料的(有人会说时间应该四舍五入,但是这不是一个巨大的问题).

攻丝10 -示出了在所选择的日期UIDatePicker4 Aug 2011 2:10 PM,与微小间隔10好微小间隔是正确的,但所选择的时间是2:10?人们可能会预期2:40(如果向上舍入)或2:30(如果向下舍入).

BugDatePickerVC.h

#import <UIKit/UIKit.h>

@interface BugDatePickerVC : UIViewController {
    NSDateFormatter *dateFormatter;
    NSDate *date;
    UIDatePicker *datePicker;
    UILabel *dateL;
    UIButton *oneB;
    UIButton *fiveB;
    UIButton *tenB;
}

- (void) buttonEventTouchDown:(id)sender;

@end
Run Code Online (Sandbox Code Playgroud)

BugDatePickerVC.m

导入"BugDatePickerVC.h"

@implementation …
Run Code Online (Sandbox Code Playgroud)

uidatepicker ios

5
推荐指数
2
解决办法
1万
查看次数

在MUnit中寻找像JUnit的@Before/@After这样的东西

我在一个.mt文件中编写了许多测试用例,这些测试用例共享常见的设置(和拆卸)过程.我希望看到类似JUnit的@Before/ @After,但MUnit软件包中没有任何内容跳出来,这样就可以实现这一点.老实说,MUnit软件包文档比Wolfram Workbench的MUnit文档要好一些,但它还远未完成. 查看MUnit包的说明.

所以在我重新发明轮子之前,我想我会检查一下我是否错过了MUnit中的某些内容,或者是否有人的模式运行良好?

所以根据Leonid Shifrin的最初答案(他把我的答案放在一起时更新了他的答案)这是(我)在哪里(当时)...

TestPlus.mt

(* Mathematica Test File *)

(* x is a global value *)
x=0;

SetUp[] := Module[{}, x=1;];
TearDown[] := Module[{}, x=0;];

(* test SetUp[] *)
SetUp[];       
Test[x, 1, TestID->"SetUp-20120103-F2U9V6"]

(* test TearDown[] *)
TearDown[];
Test[x, 0, TestID->"TearDown-20120103-O4R6M7"]

(* test plus --contrived tests-- *)
SetUp[];
Test[x+0, 1, TestID->"Plus-20120103-S5D9X6"]
TearDown[];

SetUp[];
Test[x+1, 2, TestID->"Plus-20120103-D7Q3E0"]
TearDown[];

SetUp[];
Test[x+2, 3, TestID->"Plus-20120103-F0S4P9"]
TearDown[];
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

5
推荐指数
1
解决办法
167
查看次数