我知道一个单一的平等标志意味着分配; 双重意味着平等; 和三重意味着平等和相同的类型.
我不明白为什么打字稿linter会让我在这种情况下使用三重等号:
function gcf(a: number, b: number): number
{
return (b == 0) ? (a) : (gcf(b, a % b));
}
Run Code Online (Sandbox Code Playgroud)
TsLint:==应该是===
我知道0是一个数字,我也知道b是一个数字(否则我会得到一个编译错误).那么为什么我要在这种情况下使用三重等号?
我可以隐式地将一个int转换为IComparable.我也可以将一个List或一个数组转换为IEnumerable.
但为什么我不能隐式地将List转换为IEnumerable?
我用.net framework 4.5和Visual Studio 2012 Ultimate测试了这个.
要测试的代码:
IComparable test1;
int t1 = 5;
test1 = t1; //OK
IEnumerable<int> test2;
List<int> t2 = new List<int>();
int[] t3 = new int[] { 5, 6 };
test2 = t2; //OK
test2 = t3; //OK
TabAlignment[] test;
IEnumerable<IComparable> test3;
test3 = t2; //error Cannot implicitly convert type 'System.Collections.Generic.List<int>' to 'System.Collections.Generic.IEnumerable<System.IComparable>'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud) visual studio 2013的web essentials插件附带了打字稿.我现在收到数百条消息,但我不知道它们中的一些是什么意思.
是否有解释每个tslint错误的地方?(某种tslint wiki?)我试过谷歌搜索它们,但我没有得到任何解释.
错误:
然后有一些非常奇怪的:
我有带有 Python 工具的 Visual Studio 2015,我正在尝试调试 Python 应用程序,但它不会因某个错误而中断。
该错误是一个 IndexError,可以用以下代码重现:
matrix = [5, 6, 7]
print matrix[2]
print matrix[5000]
Run Code Online (Sandbox Code Playgroud)
另一方面,如果我有一个 NameError:
nonExistingFunction()
Run Code Online (Sandbox Code Playgroud)
这是正常的吗?当出现像 IndexError 这样的错误时,有没有办法让 Visual Studio 中断?
这是选项窗口的屏幕截图(不知道这是否真的适用于 python)和 python 工具 > 调试