其实写代码和写字是一个道理的,一个人的代码整洁调理程度往往代表了这个人的编程水平,也敲代码好几年了,这个意识要慢慢锻炼起来,写一些整洁一目了然的代码。
其次一些命名规则比如局部变量名要为小写字母啦,常量首字母要大写啦诸如此类;这些都是一些很小很细微的东西,其实有过编程经验的人,有很多不太在意这些细节,都是大差不差的没有太在意。
直到今天我才深刻体会了ruby的简洁和强大,为什么这么说,看一下这个很简单的遍历计数的小问题说:“统计下面数组中每个单词的出现次数:words = %w[apple pear cat dog apple cat cat horse pear horse] 使其输出结果为:{"apple"=>2, "pear"=>2, "cat"=>3, "dog"=>1, "horse"=>2}”
其实这个问题的解法有很多中,什么循环遍历啊什么的都可以做,比如我下面第一次用很low的很不能直视的方法做
def count words=%w[apple pear cat dog apple cat cat horse pear horse]
a=0
b=0
c=0
d=0
e=0
for word in words do
if word=='apple'
a+=1
elsif word=='pear'
b+=1
elsif word=='cat'
c+=1
elsif word=='dog'
d+=1
elsif word=='horse'
e+=1
end
end
puts 'apple'=>a,'pear'=>b,'cat'=>c,'dog'=>d,'horse'=>e
end
2.2.3 :067 > count
{"apple"=>2, "pear"=>2, "cat"=>3, "dog"=>1, "horse"=>2}
做完我自己都笑了,尼嘛这么简单的题,这整这么大一长串,是不是不合适。今天听了老师讲的一些,我恍然大悟,于是乎
words = %w[apple pear cat dog apple cat cat horse pear horse]
count_hash = Hash.new(0)
for word in words do
count_hash[word] += 1
end
puts count_hash
{"apple"=>2, "pear"=>2, "cat"=>3, "dog"=>1, "horse"=>2}
真正起作用的其实就短短的四行代码!四行!四行!就四行!我的天,我的天!短小精悍更有力~这可能是ruby最大的魅力吧,我对ruby真的是越来越好奇啦