ルビィの Ruby 教室
想成为 Ruby girls 的众人,在露比老师的编程教室上?
1话 方法好像有点多
露比「昨天的课程大家记住了吗」
千歌「递归、算法…这么难的东西,完全不懂啊」
露比「算法暂时用不到的啦」
曜「露比酱,为什么我们要学 ruby 啊」
露比「比起C,ruby更加简单呦(其实是和我名字相同啦)」
千歌「唔哇,还有更加难的语言,好可怕」
露比「今天的课题是链表,首先构建 ListNode 类试下」
1 |
|
露比「val 是结点的值,next_node 是指向下一个结点。好,来试试遍历一下」
曜「遍历的话,一直循环到尾结点」
1 |
|
露比「嗯,要是再将链表转换成数组呢」
千歌「我知道我知道,把输出换成数组赋值」
1 |
|
千歌「嘿嘿,千歌我还是会一点的哟」
露比「要是再将计数呢」
千歌「那再改…」
曜「要是每个都这样改,方法好像有点多啊」
千歌「额,那怎么办呀」
2话 用块就可以啦ずら
曜「要不问下其他小队」
夜羽「くくく,愚昧的凡人啊,就让堕天使夜羽给你们展示下黑魔法」
1 |
|
夜羽「只要用 send 方法,可以省略成一个方法,并且传多少值都没问题」
花丸「用了 send 也还是要定义其他方法,根本没有解决ずら」
露比「其实这个可以用块简化一下」
1 |
|
千歌「露比老师真厉害」
梨子「看起来有点不对,测试一下」
1 |
|
夜羽「难道是被天界的敌人偷走了」
梨子「看起来不行啊,夜酱,天界不会影响代码运行的啦」
露比「诶,这个…呜呜姐姐」
黛雅「露比,你啊没有指向 self。假如不涉及取值,yield 代指的块中代码运行没问题,要是有取值不指定就会返回nil」
众人「原来如此」
花丸「果然改为 yield(self) 就好了,未来ずら」
3话 深入递归
鞠莉「wow,ruby 比起 american 的 C 有趣多了」
鞠莉「要是反转输出呢」
千歌「先一个一个移动,到尾结点再往回输出,啊不好,找不到前面的结点了」
果南「听说有个栈可以后入先出」
梨子「递归也是运用栈,刚才的遍历就用了递归。那把 yield(self) 位置移动一下就可以先递归到尾结点」
1 |
|
4话 Ruby girls
鞠莉「Amazing!ruby 真是优雅呢」
果南「这么有趣的语言,我也提起兴趣了呢」
露比「深入学习的话,还有更多优雅的特性等着我们」
夜羽「くくく,堕天使夜羽早已窥见禁忌的元编程法术。小恶魔们放心,夜羽可不会被反噬的」
花丸「刚才就乱用了ずら」
夜羽「呀,才没有呢,ずら丸」
曜「既然学习了 ruby,那我们就是 ruby girls 了呢」
梨子「ruby girls,听起来不错呢」
黛雅「『学而时习之,不亦说乎』要掌握知识还得要多加练习」
千歌「嗯,为了成为更加闪耀的 ruby girl,还要继续努力练习啊,大家一起加油吧」
众人「哦~~」