阅读"真实世界Haskell"我发现了一些有关数据类型的有趣问题:
这种模式匹配和位置数据访问使得它看起来像数据和在其上运行的代码之间具有非常紧密的耦合(尝试向Book添加内容,或者更糟糕地更改现有部件的类型).
在命令式(特别是OO)语言中,这通常是一件非常糟糕的事情......它在Haskell中不被视为一个问题吗? 来自RWH的评论
实际上,编写一些Haskell程序时,我发现当我对数据类型结构进行小的更改时,它几乎影响了使用该数据类型的所有函数.也许有一些数据类型使用的良好实践.如何最小化代码耦合?
我一直在努力解决这个问题(我昨晚一直在醒来,把头撞在墙上)但希望有人在这里可以帮助我.
我已经使用本教程连接到我的JSON数据源(http://www.mobileorchard.com/tutorial-json-over-http-on-the-iphone/)并且它工作正常但我现在想要获取值(通过对象键我认为).
我的json数据如下:[{"Id":"1","Name":"Richard","NameOfFile":"1.jpg"},{"Id":"395","Name":"亚历克斯", "NameOfFile": "390.jpg"}]
我用来连接它的代码如下.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[connection release];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];
SBJSON *json = [[SBJSON new] autorelease];
NSArray *myArray = [json objectWithString:responseString error:nil];
[responseString release];
for (int i = 0; i < [myArray count]; i++)
{
for(int colIndex = 0; colIndex < 5; colIndex++)
{
UIImage * myimage = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://www.goweruk.com/Images/Uploaded/220/873.jpg"]]];
UIImageView *myimageview = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f,50.0f, 50.0f)];
[myimageview setImage:myimage];
CGRect frameRect = myimageview.frame; …Run Code Online (Sandbox Code Playgroud) 我正在尝试为MonoTouch实现推送通知,但我无法在任何地方找到这样的样本.我的问题是尝试将deviceID读入.NET字符串.
下面的输出只是很多问号所以我在这里做错了.
任何帮助将不胜感激!
public override void RegisteredForRemoteNotifications (UIApplication application, NSData deviceToken)
{
Console.WriteLine("Converting device ID...");
NSString s = NSString.FromData(deviceToken, NSStringEncoding.UTF8);
Console.WriteLine("DEVICE ID IS: " + s);
s = NSString.FromData(deviceToken, NSStringEncoding.ASCIIStringEncoding);
Console.WriteLine("DEVICE ID IS: " + s);
s = NSString.FromData(deviceToken, NSStringEncoding.Unicode);
Console.WriteLine("DEVICE ID IS: " + s);
}
Run Code Online (Sandbox Code Playgroud) 我想要制作一个滚动的Tkinter文本框,填充最大的分配空间.我有点工作......
出于某种原因,当我拉伸窗口时,文本小部件很好; 但是,滚动条在x轴上获得了大量填充.
第二个问题是当我缩小窗口时滚动条离开屏幕.
有谁知道这两个程序的解决方案?
片段:
self.Fr = Tkinter.Frame(self, width=self.Wi, height=self.He)
self.Fr.pack(side='right', fill='both', expand='yes')
self.Te = Tkinter.Text(self.Fr, font=self.Fo, fg=self.FG, bg=self.BG,
selectforeground=self.SFG,
selectbackground=self.SBG,
insertbackground=self.IBG, wrap='word',
undo=True, maxundo=100)
#self.Te.grid(column=0, row=0, sticky='NSEW')
self.Te.pack(side='left', fill='both', expand='yes')
self.Sc = Tkinter.Scrollbar(self.Fr, elementborderwidth=1)
#self.Sc.grid(column=1, row=0, sticky='NSEW')
self.Sc.pack(side='right', fill='both', expand='yes')
self.Te.configure(yscrollcommand=self.Sc.set)
self.Sc.configure(command=self.Te.yview)
Run Code Online (Sandbox Code Playgroud) 我只是试图编译并运行一个简单的例子,它可以在Programming Windows上找到- Win32 API由Charles Petzold提供,这里是代码:
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows!"), TEXT ("HelloMsg"), 0) ;
return 0 ;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup MSVCRTD.lib(crtexe.obj)
Run Code Online (Sandbox Code Playgroud)
我在Windows 7上使用Visual Studio 2010如何解决这个问题?
是因为我在新的操作系统中运行了一些过时的代码,如果Windows 7的win32 API已经更改,任何人都可以向我建议任何资源,以了解有关使用C/C++甚至汇编的Windows 7的win32 API
我想以特定角度显示给定的字符串.我试着在System.Drawing.Font课堂上这样做.这是我的代码:
Font boldFont = new Font(FontFamily.GenericSansSerif, 12, FontStyle.Bold, GraphicsUnit.Pixel, 1, true);
graphics.DrawString("test", boldFont, textBrush, 0, 0);
谁能帮我?
例如,1, 2, 128, 256输出可以是(16位):
0000000000000001
0000000000000010
0000000010000000
0000000100000000
Run Code Online (Sandbox Code Playgroud)
我试过了
String.format("%16s", Integer.toBinaryString(1));
Run Code Online (Sandbox Code Playgroud)
它为左边填充放置空格:
` 1'
Run Code Online (Sandbox Code Playgroud)
如何将0s用于填充.我在Formatter中找不到它.还有另一种方法吗?
提前致谢.
PS 这篇文章描述了如何使用左0填充格式化整数,但它不适用于二进制表示.
我想知道是否有任何简单的方法在python中的列表中排序元组,例如,如果我有一个列表:
list01 = ([a,b,c],[b,a,d],[d,e,c],[a,f,d])
Run Code Online (Sandbox Code Playgroud)
我排序了,我会得到:
([a,b,c],[a,b,d],[c,d,e],[a,d,f])?
Run Code Online (Sandbox Code Playgroud)
甚至:
([a,b,c],[a,b,d],[a,d,f],[c,d,e])
Run Code Online (Sandbox Code Playgroud)
如果这更容易
提前Thanx :)
不久前,我们得到了一个编写ac程序的赋值,该程序使用d-ary max-heap(每个节点最多有d个子节点的堆)对n个数字的数组进行排序.程序需要让用户输入d的值,一个介于2和数组大小之间的值.当我检查我的程序时,我偶然输入1作为d的值,并且不知何故算法成功地使用1-ary堆正确地对数组进行排序,尽管它比d的正常值花费了更多的时间.
怎么可能?1-ary堆甚至不是堆,它就像列表一样,每个节点只有一个子节点.任何人都可以解释这种排序是如何发生的