从各种OO语言的背景来到Haskell,对我来说似乎有点不利的一点是函数和字段名称没有限定与它们相关联的类型,所以如果碰撞就很容易碰到冲突.不同的数据类型具有相同名称的字段.
如果我有这三个模块:
module One where
data Foo a = Foo { value :: a }
----
module Two where
data Bar a = Bar { value :: a }
----
module Three where
import One
import Two
foo = Foo { value = 42 } -- compile error here
n = value foo -- and here
Run Code Online (Sandbox Code Playgroud)
对value模块Three内的非限定引用被认为是模糊的,即使在这种情况下只有两个导入名称中的一个有意义.(在OO语言中,引用foo.value并且bar.value将是明确的.)
当然,我可以通过写作消除歧义Foo { One.value = 42 },但这看起来很尴尬.我也可以用不同的方式命名字段,例如"fooValue"和"barValue",但冗余也Foo { fooValue = 42 }看起来很尴尬. …
我的app-config.xml有我的UserDao bean的定义:
<bean id="userDao" class="com.blah.core.db.hibernate.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
我有我的组件扫描:
<context:component-scan base-package="com.blah" />
Run Code Online (Sandbox Code Playgroud)
我的HomeController中的索引操作工作正常(它将我的UserService上的方法的内容输出到freemarker模板).
@Controller
public class HomeController {
@Autowired
private UserService userService;
@RequestMapping("/")
public ModelAndView Index() {
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
mav.addObject("message", userService.sayHello());
mav.addObject("username", userService.getTestUser());
return mav;
}
Run Code Online (Sandbox Code Playgroud)
'getTestUser()'是一个引用UserDao的新方法,它看起来像:
@Service
public class UserServiceImpl implements UserService{
@Autowired
UserDao userDao;
public String sayHello() {
return "hello from user service impl part 2";
}
public String getTestUser() {
return userDao.getById(1L).getUsername();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl': …Run Code Online (Sandbox Code Playgroud) 以下是针对FluentNHibernate-1.1.0.685(NHibernate-2.1.2.4000)的存储库的简单测试.Session和NH配置由测试夹具提供.
[Test] public void ShouldEdit() {
var employee = CreateEmployee();
session.Clear();
var changedEmployee = _testRepository(employee.id);
changedEmployee.FirstName = "Ringo";
_testRepository.SaveOrUpdate(changedEmployee);
session.Flush();
session.Clear(); // Pulling this call will allow the test to pass.
var employees = (IList)_testRepository.GetAll();
Assert.Contains(changedEmployee, employees);
Assert.IsFalse(employees.Contains(employee));
}
Employee CreateEmployee() {
var e = {Id = 1, FirstName = "George", LastName = "Washington" };
_testRepository.SaveOrUpdate(e);
session.Flush();
return e;
}
如果我摆脱对Clear()的第二次调用,这个测试将通过.如果我离开了电话,那么测试将失败并显示以下内容:
Failed: Expected: Collection containing <Employee> But was: < <Employee> >
不是很有帮助.暂且不说,为什么我需要删除对Clear()的第二次调用?
Flush()将与db同步,如果我正确理解文档,Clear()将逐出缓存.这似乎正是我想要的行为,所以我可以肯定我没有测试陈旧的数据.事实上,如果没有调用Clear(),我会期望测试失败,但事实并非如此.有人可以对这种行为有所了解吗?
(注意:这是对PragProg书籍"Test Drive ASP.Net …
我正在尝试使用Jquery/Javascript模仿破碎的打字机字体(因为我找不到一个).但我想让它随机哪个字母被打破.我能够分割出我想要的id的字符串,并使用我发现的一些代码来获得0和字符串总长度之间的随机数.我现在遇到的问题是用这个特定的角色做些什么.我想将其向下或向上推几个像素.我试图给它一个类,所以我可以添加一些边距或填充,但它不起作用.所以我被困在我现在的位置.
这是页面,我正在尝试用"关于"这个词:http:
//www.franciscog.com/bs/about.php
这是脚本:
<script type="text/javascript">
function randomXToY(minVal,maxVal,floatVal)
{
var randVal = minVal+(Math.random()*(maxVal-minVal));
return typeof floatVal=='undefined'?Math.round(randVal):randVal.toFixed(floatVal);
}
var str = $('#typehead').text();
var strcnt = str.length;
var exploded = str.split('');
var rdmltr =randomXToY(0,strcnt);
var theLetter = exploded[rdmltr];
theLetter.addClass("newClass");
var toffset = $('.newClass').offset();
alert(toffset.left + "," + toffset.top);
</script>
Run Code Online (Sandbox Code Playgroud) 我有一个可以将包含设置为父级的可拖动元素.这很有效,但div内容可以改变,使其更高.无论如何都要触发拖动事件,以确保它不会从其父内部移动.现在,它可以与父项重叠,直到它被拖动然后包含开始.
最好的问候马克
如果我有一个ArrayList,其数据行可能如下所示:
bob, jones, 123-333-1111
james, lee, 234-333-2222
Run Code Online (Sandbox Code Playgroud)
如何删除额外的空格并获取相同的数据?我以为你可以通过","吐出字符串,然后使用trim(),但我不知道它的语法是什么或如何实现它,假设这是一个好的方法,因为我' d想要将每个字段放在一个数组中.所以在这种情况下有一个[2] [3]数组,然后在删除空格后将它放回到ArrayList中.但这似乎是一种有趣的方式,如果我的列表发生了变化,那就不可扩展了,比如最后收到一封电子邮件.有什么想法吗?谢谢.
编辑:Dumber问题,所以我仍然不确定如何处理数据,因为我不能这样做:
for (String s : myList) {
String st[] = s.split(",\\s*");
}
Run Code Online (Sandbox Code Playgroud)
因为st []将在foreach循环后失去范围.如果我事先声明String st [],我不知道创建我的数组有多大?谢谢.
netbeans 6.9(以及我需要的任何其他Java开发 - JVM,mysql等)安装在64位版本的Windows 7专业版下吗?netbeans网站说(好吧,暗示)它是未经测试的.需要知道我是否需要在明天开始的Java课程之前重新安装32位Windows 7.谢谢你的帮助.
更新:在64位下进行,一切正常.
我正在寻找一种方法来减少我使用Quartz生成的PDF大小.我在CGPDFContext中使用CGContextDrawImage绘制图像.我担心的是图像被保存为Bitmap而不是JPEG.有没有办法检查这个以及在编写PDF时控制它的方法?
我还尝试在将图像写入PDF上下文之前减少缩小图像,但最终得到的文件更大(尽管页面大小以像素为单位).
谢谢!
我试图找到在Android应用程序中使用sqlite数据库在我的两个表上进行简单表连接的最佳方法.是使用CursorJoiner最简单的方法还是有更简单的方法?
我想检查一下我的网站的访问者是否访问过另一个特定网站,然后再访问我的网站.
我知道如何使用JS和PHP检查(通过引用信息)用户是否刚刚从该网站来到我的网站,但我希望能够检测到他们之前是否曾访问过该网站(不是就在我来到我的网站之前 可以检测到这些信息吗?