Linux程序员通常喜欢用文件锁来做进程间的同步,或简单地用文件锁指示程序进程是否还健在。在ruby里面可以很简单的实现文件锁:
=begin
file lock for inter-process sync.
usage:
FSLock('mylock') do
# protected by lock,
# do your job here ...
end
=end
class FSLock
def initialize(name=nil)
name ||= 'global'
@fname = name + '.lo ...
如果你想把从串口或者其他地方接收到的数据当作是从键盘输入,该如何实现?
我最近写了个简单的Pseudo Keyboard (称之为:伪键盘)内核模块来实现这个功能,很简单但很有趣 :)
把以下代码存成pkbd.c,编译成模块pkbd.ko,然后用insmod pkbd.ko插入内核。
模块插入成功后,会在/proc下建立pkbd文件,以及在/dev下自动建立输入设备(如果你用udev的话)。
用法:
比如我想让从/dev/ttyS1来的数据模拟成键盘输入,最简单的方法是运行:
cp /dev/ttyS1 /proc/pkbd &
当然,更正式点的用法是按需要 ...
OO Programing in C is not only POSSIBLE but also PRACTICAL
--------------------------------------------------------------------------------
OO的一个亮点是类的"继承",通过"继承",可以重用许多代码。而且"继承"也是现实生活中非常自然的一种关系。但是很不幸,C没有class,更没有提供"继承"的表达方式。既然能用C的struct来仿真class, 那能不能继续来仿真"继承"呢?答案是:possible。就像<<Inside the C++ ...
OO Programing in C is not only POSSIBLE, but also PRACTICAL.
--------------------------------------------------------------------------------
“class“是很多OO编程语言里的关键字,它来源于OO鼻祖Smalltalk。class(类),是对一群有相同特性的对象的抽象概括,对象称为类的实例。在class里面可以存放有状态(变量),行为(函数/方法)....有关OO概念、方法的文章太多了,不再啰嗦。在C里面,唯一可以实现自定义类型的是struct,st ...
OO Programing in C is not only POSSIBLE but also PRACTICAL.
--------------------------------------------------------------------------------
经常看到关于OO编程的讨论,C++, Java, C#...还有最近很流行的动态语言Python,Ruby等,但很少看到有C的份。
在我看来,OO编程的核心是OO的思想,用什么语言倒是其次。但是,不可否认,那些专门为OO编程设计的语言可以比较方便和自然地表达OO思想,有些语言甚至强制使用OO特性。
C, ...
ruby语言由于其灵活优雅的表达方式和优秀的OO的特性,是GUI编程语言的有力竞争者。特别是其Closure特性,能够使GUI编程时遇到的很多头痛的问题迎刃而解。
最近手上的一个项目刚好需要做一个Windows平台的GUI程序,以前是用VB,虽然VB是Windows GUI的经典工具,能够快速进行GUI原型开发,但是一旦GUI元素多起来,且UI元素存在复杂关系,就很难维护....特别在后期,一旦需求有什么变化,再去调整UI,那个叫痛苦啊。因此就想用ruby试试,加上此次项目设计很多网络通讯方面的需求,因此更加坚定了使用ruby的决心。现在项目基本完工,再回过头看,以前用VB开发时碰到的种种 ...
- 浏览: 4145 次
- 性别:

- 来自: Wgt

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Ruby'陷阱'之: '||=' 的 ...
我之所以在这里“咬文嚼字”,是为了追求对语言的精确理解。 对于象ruby这种特 ...
-- by rubynroll -
Ruby'陷阱'之: '||=' 的 ...
geszJava 写道回复不见了? ruby按我说就是不断句的之乎者也,陷阱多多 ...
-- by seemoon -
Ruby'陷阱'之: '||=' 的 ...
回复不见了? ruby按我说就是不断句的之乎者也,陷阱多多,没多少前途。最终还是 ...
-- by geszJava -
SVN+GIT=鱼与熊掌兼得
干吗要那么麻烦呢,何不直接用 git-svn
-- by Lynx -
Ruby'陷阱'之: '||=' 的 ...
引用 但是David后来认为"a || a = b"应该更恰当些. 楼主是咬 ...
-- by seemoon






评论排行榜