尝试用不同语言写简单题的过程中的一些小发现
Posted ztztyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试用不同语言写简单题的过程中的一些小发现相关的知识,希望对你有一定的参考价值。
Python:
python2中的sort函数是允许传入cmp函数的
1 def comp(x, y): 2 return x - y 3 a = [3, 2, 1] 4 a.sort(comp)
与我们常用的c++的cmp函数类似
但是python3中取消了cmp函数的支持,sort如下
sorted(iterable,key=None, reverse=False)
key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None 。
1 def comp(x): 2 return x 3 a = [3, 2, 1] 4 a.sort(comp)
所以python3中用这种写法实现和上面代码一样的功能
Java:
HashMap<K, V>中K和V必须是具有hashCode方法的类,所以
HashMap<int, int> hMap = new HashMap<int, int>();
这种写法是会报错的,int没有hash方法,改为
HashMap<Integer, Integer> hMap = new HashMap<Integer, Integer>();
即可。int类型是可以直接隐式转换成Integer类型的
Scala(吐槽cnblog的插入代码都还不支持scala):
之前没有深入了解....帮人写完作业就没有继续探究这门语言了...
for循环是不能直接支持break和continue语句的,需要借助breakable
输出0-4可以用以下方式实现
1 breakable { 2 for (i <- 0 to 9) { 3 println(i) 4 if (i == 4) break 5 } 6 }
输出小于10的非负偶数
1 for (i <- 0 to 9) { 2 breakable { 3 if (i % 2 == 1) break 4 println(i) 5 } 6 }
以上是关于尝试用不同语言写简单题的过程中的一些小发现的主要内容,如果未能解决你的问题,请参考以下文章
Xcode中的变量模板(variable template)的用法