最近简要介绍了Haskell,对于monad本质上是什么,简单,简洁,实用的解释是什么?
我发现我遇到的大多数解释都是相当难以接近的,缺乏实际细节.
在与同事讨论了在C#3中使用'var'关键字后,我想知道人们对通过var的类型推断的适当用途有什么看法?
例如,我在可疑情况下懒得使用var,例如: -
foreach(var item in someList) { // ... } // Type of 'item' not clear.
var something = someObject.SomeProperty; // Type of 'something' not clear.
var something = someMethod(); // Type of 'something' not clear.
Run Code Online (Sandbox Code Playgroud)
var的更合理用途如下: -
var l = new List<string>(); // Obvious what l will be.
var s = new SomeClass(); // Obvious what s will be.
Run Code Online (Sandbox Code Playgroud)
有趣的是LINQ似乎有点灰色,例如: -
var results = from r in dataContext.SomeTable
select r; // Not *entirely clear* what results will be …Run Code Online (Sandbox Code Playgroud) 我记得听过Joel Spolsky在播客014中提到他几乎没用过外键(如果我没记错的话).但是,对我而言,在整个数据库中避免重复和后续数据完整性问题似乎非常重要.
人们有一些坚实的理由为什么(避免与Stack Overflow原则一致的讨论)?
database database-design referential-integrity foreign-keys data-integrity
我的Visual Studio 2008设置存在严重问题.我收到了一个非常有用的错误'加载安装组件时遇到了问题.取消设置.' 每当我尝试卸载,重新安装或修复Visual Studio 2008(团队系统版本).如果我无法解决这个问题,我别无选择,只能完全擦拭我的电脑并重新开始,这将花费一整天!我最近在尝试构建有关内存耗尽的项目时遇到了非常奇怪的错误(尽管当时有大约2GB的物理内存空闲),这使我当前的VS安装无用.
注意我在安装VS2008 之后使用SQL Server文件夹中的vs_setup.msi文件安装了VS2005 shell版本,以便在Business Intelligence Development Studio中获得对SQL Server 2005 Reporting Services设计器的访问权限(这在VS2008中无法解释).
有没有人有这个问题的解决方案?
PS:我知道这是没有直接关系的节目,但是我觉得这是适当的,从而它直接关系到我的能力在所有的程序!
注意:一位同事找到了这个问题的解决方案,希望这可以帮助其他人解决这个问题.
installation maintenance visual-studio-2005 visual-studio-2008 visual-studio
在编写switch语句时,在case语句中可以打开的内容似乎存在两个限制.
例如(是的,我知道,如果你正在做这种事情,这可能意味着你的面向对象(OO)架构是不确定的 - 这只是一个人为的例子!),
Type t = typeof(int);
switch (t) {
case typeof(int):
Console.WriteLine("int!");
break;
case typeof(string):
Console.WriteLine("string!");
break;
default:
Console.WriteLine("unknown!");
break;
}
Run Code Online (Sandbox Code Playgroud)
这里switch()语句失败,带有'一个预期的整数类型的值',case语句失败并带有'a expected value is expected'.
为什么会有这些限制,以及基本理由是什么?我看不出有任何理由switch语句具有只能屈从于静态分析,为什么在接通的值必须是完整的(即原语).理由是什么?
如何以编程方式确定ELisp中运行的Emacs操作系统?
我想.emacs根据操作系统运行不同的代码.
我确信有人会特意问过这个问题,但是从我看不到的人那里(有关于学习win32的问题,但这并不包括它是否值得这样做).
我非常有兴趣深入了解我使用的所有系统(我主要是用C#编程,至少是专业的),所以我很想知道,非常简单 - 学习win32值得,还是有点过分?我在浪费时间吗?我获得的知识值得付出努力吗?
StackOverflow上的类似/相关问题:
我想知道是否有任何自动方法来确定(至少大致)给定函数的Big-O时间复杂度?
如果我绘制O(n)函数与O(n lg n)函数,我想我能够在视觉上确定哪个是哪个; 我认为必须有一些启发式解决方案,可以自动完成.
有任何想法吗?
编辑:我很高兴找到一个半自动化的解决方案,只是想知道是否有某种方法可以避免进行全手动分析.
c# ×2
haskell ×2
algorithm ×1
database ×1
elisp ×1
emacs ×1
f# ×1
foreign-keys ×1
guid ×1
installation ×1
maintenance ×1
monads ×1
terminology ×1
var ×1
winapi ×1