标签 源码 下的文章

Ruby 正则小脚本处理空行

Ruby学了主要作用大概也就是写写脚本了(毕竟传说中的Python/Ruby二选一),躺在床上想到因为复制黏贴下来少回车,在有的Markdown中会解析为没换行,有的则是<br/>,这让人非常的烦躁!所以需要处理一下,怎么处理最快——用脚本。

首先先匹配,在Ruby正则表达式中,+匹配一次或以上,我们需要匹配\n,所以需要用多行的模式m

re = Regexp.new(/\n+/m)

匹配替换用的是String.gsub方法。表示替换全部,sub只替换首次匹配的部分。

result = file.gsub(re, "\n\n")

- 阅读剩余部分 -

CSS 高端阴影效果(1)

演示

这是在慕课网看到教程之后觉得,哎哟这个屌,然后就做了……

只需要一个指定div就能实现这个效果,实际上在未来调用之类的上都是很方便的。其实感觉自己实现的还不是特别的好,比起原来的似乎总觉得缺了点什么,但基本也算完成了。

html不多说,就是一个加了.shadow的div,CSS部分才是重点!

- 阅读剩余部分 -

jQuery HTML5播放器整合多段播放思路

最近由于工作需要在研究HTML5的播放器,HTML5其实自带的已经很全了,但是当我们需要把切割的视频整合播放的时候就遇到了麻烦,这里我想到了一个思路,正好发现网上也提到了很多这种思路:

首先多播放器窗口,除了一个以外display:none,一般需求中两个就足够了。然后监听是否结束(关于监听,稍后再发一篇讲讲Javascript的监听问题),监听本P播放结束之后将下一个的链接赋值到隐藏的那个,交替display,进度条当然需要重做,这里就需要统计总时长了。

关于HTML5 Video的事件可以参考:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp

当然理论上很好想,实际在用的时候还是遇到了一些问题:
最近由于工作需要在研究HTML5的播放器,HTML5其实自带的已经很全了,但是当我们需要把切割的视频整合播放的时候就遇到了麻烦,这里我想到了一个思路,正好发现网上也提到了很多这种思路:

首先多播放器窗口,除了一个以外display:none,一般需求中两个就足够了。然后监听是否结束(关于监听,稍后再发一篇讲讲Javascript的监听问题),监听本P播放结束之后将下一个的链接赋值到隐藏的那个,交替display,进度条当然需要重做,这里就需要统计总时长了。

关于HTML5 Video的事件可以参考:http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp

当然理论上很好想,实际在用的时候还是遇到了一些问题:

- 阅读剩余部分 -

C 判断一个数是否是完全平方数

若一个整数a为另一个整数b的平方,则称a为完全平方数,现在输入n个正整数,判断他们中有几个是完全平方数

这道底在小数据的时候可能比较简单,但遇到大数据的时候,就显得心有余而力不足了。

首先我们需要用long long,这种时候,我第一是想到用减法,开平方,用a-(int)a的方法,结果发现数字小于一定程度的时候,会近似的等于0,这个时候系统也通过了,默认其等于0,就算改成0.0也无法改变这个事实。

相等当然也是行不通的,理论上而言,永远都不能相信浮点数,浮点数不应该作为条件判断。

于是最终我们想到了用转换后的数字乘法,如果相等就是OK哒,如果不等的话证明开平方是小数。

这里可以用(long long)转换,也可以直接声明一个long long的变量,来存平方后的数,会自动转换为long long的值。

- 阅读剩余部分 -

C 今天我们来聊聊栈与括号配对

很巧的是,之前这两者我都有说过,虽然当时没有深刻的认识,只是很新鲜的看到了之后写了两篇日志罢了,没想到终有一天,我还是和他们俩见面了,而且是合体版。

栈:关于栈的进出
括号匹配:C 一个程序查找基本语法错误

当然,这两篇和数据结构完全没有关系,大致上是科普中的科普了。

我们来看看这次的题目:

表达式中可能出现花括号{}、方括号[]、园括号(),从键盘输入一个表达式,检查左右括号配对情况,并输出结果。
例子:{[(…)(…)]…(…)}配对
而{[(…)(…)]…[(]…)}不配对

- 阅读剩余部分 -

C 扑克牌配对说链表

以后每个数据结构作业都会那么小小的总结一下,数据结构的作业做了之后收获还是颇多的(废话当然比电子电路、大学物理收获多咯)

题目:

采用线性链表方式编程序模拟扑克牌配对游戏。通过键盘输入点数模拟抓牌,拿到新牌时,看手上是不是有同点数的牌,有的话,两者配对并抽掉手上的牌,没有的话,将牌插入手上的牌中,手上的牌保持按点数从小到大顺序排列。

扑克牌配对github链接

- 阅读剩余部分 -

C (bu)科学的复数求解(两数加减乘除)

这次真的是记录一下思考过程了,反正是个很坎坷复杂的经历。
github地址:https://github.com/csvwolf/Sky-C-Study/tree/master/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84
老师给了我们一个结构体的框架,不得不说C的结构体和C++的还是有差别的:http://www.cppblog.com/percyph/archive/2009/03/06/75742.html

由此,我们这样定义一个结构体之后:

typedef struct
{
    float rpart;
    float ipart;
} complex;

- 阅读剩余部分 -