我的问题出在最后一行:
module A where
data A = A { f :: Int }
defaultA = A { f = 0 }
Run Code Online (Sandbox Code Playgroud)
和
module B where
import A as A
data B = B { f :: Int }
bToA :: B -> A
bToA x = defaultA { A.f = f x }
Run Code Online (Sandbox Code Playgroud)
给
B.hs:8:26:
Ambiguous occurrence `f'
It could refer to either `B.f', defined at B.hs:5:13
or `A.f', imported from A at B.hs
Run Code Online (Sandbox Code Playgroud)
由于我不能在其自身中包含B限定,有什么替代方法可以解决命名空间冲突?我宁愿不重命名冲突函数.
编辑:更新了这些示例.
我对MVVM有些新意.我不确定做我想做的最好的方法是什么.
这是场景:
我有一个将要显示另一个窗口的VM.我可以打电话myNewWindowView.Show(),但首先我需要在新窗口的VM中设置一些数据.
我应该同时公开myNewWindowView和NewWindowViewModel调用ViewModel吗?
这是一个例子:
class MainVM
{
public void FindCustomer(string nameParial)
{
List<Customer> customers = ServiceCall.GetCustomers(nameParital);
// This is the part I am not sure how to do. I am not sure if this
// View Model should have a reference to a different view model and
// the view too.
myNewWindowViewModel.CustomerList = customers;
myNewWindowView.Show();
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个很大的错误消息列表,我的商业代码可以根据输入的内容返回.该列表最终可能超过一千.
我想直接枚举这些,使用[Description("")]属性来记录友好消息.
就像是:
public enum ErrorMessage
{
[Description("A first name is required for users.")]
User_FirstName_Required = 1,
[Description("The first name is too long. It cannot exceed 32 characters.")]
User_FirstName_Length = 2,
...
}
Run Code Online (Sandbox Code Playgroud)
我知道枚举是原始类型,特别是整数.这么多整数应该没有任何问题,对吧?
有什么我没想到的吗?这似乎应该没问题,但我想我应该先花时间这样做,然后再这样做.
当.Net有很多值时,它们是否会关注枚举类型?
更新
我不想使用Resources的原因是因为
a)我需要能够使用整数值引用每个唯一的错误消息.除了其他内容之外,biz层还为API提供服务,并且必须返回表示错误的整数值列表.我不相信Resources允许您使用整数来处理资源值.我错了吗?
b)没有本地化要求.
我将iframe从外部网站添加到我这样:
<iframe src="http://site.com/page/"></iframe>
Run Code Online (Sandbox Code Playgroud)
它有一些自己的CSS和JavaScript文件.
如何将自己的css样式添加到此iframe中?
目前我正在一个团队中工作!框架应用程序
我必须实现的下一个用户故事需要一些不同的文件修改,例如将文件移动到定义的目录.
因为我们在不同的平台上工作,所以我并不总是确定应用程序是否具有正确的路径.所以我想使用app目录的绝对路径.
我如何获得游戏的绝对路径!应用程序吗?有方法吗?
我想对你对这两个框架的看法.我非常喜欢ExtJS的功能,但最近我看到了SmartClient,它看起来也很棒,并且免费(它的客户端功能)用于商业项目.我尝试了一点SmartClient,它似乎比ExtJS更容易,并且它有更好的文档来扩展ExtJS.
但是..我没有使用任何这些框架,也许我错了.这就是为什么我希望与他们合作过的人的意见.
BTW .. ExtJS的许可如何运作?您只需为每个开发人员提供一个许可证,然后您就可以开发和销售您想要的每个应用程序,或者您必须为您销售的每个应用程序购买许可证?
在此先感谢您的帮助.
没有堆栈的python实现比Lua的协同程序有什么优势?它们的区别是什么?
无论如何我可以将数据从fstream(一个文件)传输到stringstream(内存中的流)吗?
目前,我正在使用缓冲区,但这需要双倍的内存,因为您需要将数据复制到缓冲区,然后将缓冲区复制到字符串流,直到您删除缓冲区,数据在内存中重复.
std::fstream fWrite(fName,std::ios::binary | std::ios::in | std::ios::out);
fWrite.seekg(0,std::ios::end); //Seek to the end
int fLen = fWrite.tellg(); //Get length of file
fWrite.seekg(0,std::ios::beg); //Seek back to beginning
char* fileBuffer = new char[fLen];
fWrite.read(fileBuffer,fLen);
Write(fileBuffer,fLen); //This writes the buffer to the stringstream
delete fileBuffer;`
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何在不使用inbetween缓冲区的情况下将整个文件写入字符串流?
我想弄清楚以下情况推荐的做法是什么.某些对象(如CLLocationManager或MKReverseGeocoder)将其结果异步发送到委托回调方法.可以在回调方法中释放CLLocationManager或MKReverseGeocoder实例(或者它可能是什么类)吗?关键是你不再需要那个对象,所以你告诉它停止发送更新,将其委托设置为nil,然后释放对象.
伪代码:
@interface SomeClass <CLLocationManagerDelegate>
...
@end
@implementation SomeClass
...
- (void)someMethod
{
CLLocationManager* locManager = [[CLLocationManager alloc] init];
locManager.delegate = self;
[locManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
// Do something with the location
// ...
[manager stopUpdatingLocation];
manager.delegate = nil;
[manager release];
}
@end
Run Code Online (Sandbox Code Playgroud)
我想知道这种使用模式是否被认为总是好的,如果它被认为永远不行,或者它是否取决于类?
有一个明显的情况是释放委托对象会出错,即如果它在通知委托后需要做的事情.如果委托释放对象,则其内存可能会被覆盖并且应用程序崩溃.(这似乎是我的应用程序在特定环境中使用CLLocationManager时发生的情况,仅在模拟器上.我试图弄清楚它是否是模拟器错误或者我正在做的事情是否存在根本缺陷.)
我一直在寻找,我无法找到一个确定的答案.有没有人有权威的来源可以回答这个问题?
我想用HttpServletResponse对象来编写一个响应,告诉浏览器客户端打开一个带有一些消息的弹出窗口 - 我该怎么做?
javascript ×3
c# ×2
java ×2
.net ×1
ajax ×1
buffer ×1
c++ ×1
cocoa-touch ×1
coroutine ×1
css ×1
enums ×1
extjs ×1
fstream ×1
haskell ×1
html ×1
iframe ×1
integer ×1
iphone ×1
lua ×1
module ×1
mvvm ×1
objective-c ×1
prism ×1
python ×1
ria ×1
scala ×1
scope ×1
servlets ×1
smartclient ×1
stackless ×1
stl ×1
stringstream ×1
tomcat ×1
wpf ×1