So I'm going to comment those out, and let's go down to this piece of code, and uncomment it.
那么我会把这些注释上,让我们看看这段代码,取消注释。
Right now, I have to take that piece of code and replicate it everywhere I want in my larger file.
现在我要把这段代码,复制到,大文件中的各个部分。
You can say if this is true, then go and do the following pieces of code or puzzle pieces that are inside this part of the block, else go ahead and do these that are down here.
你可以说如果条件成立,执行下面的代码段,或板块中的拼图,否则跳过去执行这下面的语句。
We want to write a piece of code that helps these guys out, so I'm going to show you an example.
通过写一段代码,来解决一个这样的问题,接下来让我们来看个例子。
That is if I can write code that would solve all instances of smaller size strings, then what I just described isPalindrome will solve the larger size one.
然后我会描述如何处理大字符串,事实上这正是我所做的,我希望你能看看这边的这段代码,就是这个。
Well I ought to be able to do that by simply generalizing the loop. And that's what the next piece of code on your a hand out shows you.
好的通过生成这个循环,我应该能够达到目的,这也是你们的讲义中下一段代码。
I've read through the same thing twenty times and I've missed something obvious. Someone who's never seen it before looks at and says, did you really mean to do this?
但是它们有一双旁观者之眼,我把同一段代码读上20遍,都会漏掉一些很明显的错误,从没看过这段代码的人会告诉我?
Up on the screen, I've got-- I commented it out, but I've got a piece of code that you've seen before, right up here. OK?
我现在在大屏幕上标出来的,是你们以前看过的一段代码,就在这儿?
This seems a little weird, but bear with me for second, in fact, I've given you a little piece a code to do it, which is the next piece of code on the hand out.
这看起来有点奇怪,但是先听我说,实际上我给了你们一段做这件事的代码,就是发给你们的纸张的下一段。
OK, what I would like you to see is I've been printing out, as I went along, actually let's back up slightly and look at the code. There's merge sort.
好的,我想让你们看就是我运行过后,打印出来的结果,我们再回头看一下这段代码,这就是归并排序,输入一个列表。
All right. What does this piece of code say?
好,这段代码什么意思呢?
This is actually a piece of code that is really easy to think about recursively and is much more difficult to think about in other ways.
这确实是一段用递归思考起来非常容易,而其它方法特别麻烦的代码,这一段代码的意思就是。
Well there are a couple of interesting intermediate values here, right? There's tmp.
回去再看第一段代码,那么在这里我该关注什么呢?
I want to just use it, I shouldn't have to worry about what variables I use inside of it, I have shouldn't have to worry about where that is in the code, I should be able to just abstract it away. And that's what we want to add today, are those two things.
我只是想使用它,我不用考虑我在这段代码中,使用的是什么变量,我完全不用考虑代码的内容,只要抽象就好,我们今天想补充的内容就是这两点。
> Okay. This code allocates two pointers which can point to integers.
>,好的,这段代码分配两个指针,可以指向整型数。
And the problem is, that we want to build this abstract data type, but we'd like to basically know what kind of object is it, and what functions actually belong to it, how do we use them?
然后我对它们运行了这个方法,就是这一小段代码这个方法,这有意义么?,当然没有了,对不对?,因为你知道,当你把两个极坐标,表示的点进行相加运算的时候?
It's words to you, or to the reader of the code, that are telling you what's going on inside of this code. OK?
注释是一些对你,或者对代码阅读者说的一些话,告诉你这段代码,是干什么的,对不对?
And, again, I want you to look at this and think about what's going to happen here.
再一次的,我希望你能看看,这段代码并想想之后会有些什么。
This little set of code here from create insert and number. What's create do?
这一小段代码是创建插入和编号的,创建是做什么的?
And I think this is best illustrated by giving you a simple little piece of code.
我认为给你看一段简单的代码,可以很好的说明这个问题。
I sit there in idle, and I edit some code.
我坐在那儿没事儿干,我编辑了一段代码。
So let's look at the second example, all right, I keep doing that -- this piece of code from here to here gives me a way of now creating a hash table of size 256.
所以让我们来看一下第二个例子,好的,我继续做那件事,这段代码中从这里到这里,是创建一个大小为256的哈希表。
I want to write a little piece of code.
我想写一小段代码。
> Okay. Well, this code allocates a new integer pointee and this part sets x to point to it.
>,好的,呃,这段代码分配一个新的整型指针数据,这部分让x指向它。
Takes in a list. What does it say to do?
这段代码要做什么?
Again, imagine if I'm a writing a piece of code.
请再次想象一下我正在编写一段代码。
It says it's a wrong kind of value that I've got.
所以我要写一小段代码。
It says the element's not there. I can just stop.
好,这段代码就是这么做的对不对?
So let's take a look at it for second.
所以让我们来稍稍看一下这段代码。
It first calls it on that problem.
然后这边的这段代码的意思就是。
应用推荐