From: Amos Date: 2001-02-04T02:35:59+09:00 Subject: [ruby-talk:10311] More C API examples? I was wondering if someone has examples of defining and then instantiating class objects in the C API. While I see stuff like NEWOBJ and rb_class_new in the Ruby source code, it's not mentioned specifically in the README.EXT nor in the "pickaxe" book, so I was hoping to find more examples of how this should be done. Why? Well, as part of my quest to become more intimate with Ruby, I'm gradually working on porting a Tcl extension I have been kicking around for a while. This Tcl extension provides a command called "getprocs" that returns an array containing all the process information on that system stored in a format that makes it easy to traverse this process tree by uid. (Yeah, I could just do a "ps", then go to great lengths to massage the output, but figured it was just as easy to open the procfs and build up the array that way.) I then have a script that uses this information to enforce certain limits (max # processes per user, max mem per user), as well as try to nice down processes that might be runaways. The reason why I did all of this in Tcl is so that it would be fast and easy to customize it as needs warranted. Originally I had a vastly more simplistic version of this entirely in C (only watched for runaway processes), but turned out to be a pain to maintain and enhance. Also, about that time I was learning Tcl, so thought it might be cool to write this Tcl extension and have the basic loop logic in Tcl. Well, now I'm learning Ruby. So, I was thinking of porting this mess to Ruby. I actually have a ProcMap class created, which in turn uses a ProcInfo Struct, but I was thinking of trying out this ProcInfo object as a tiny class instead. Doesn't seem like I need all the things provided by Struct. So I thought by using a simple class, might save a tiny bit of overhead. Though, perhaps that's not necessary true afterall. Don't know, so thought I'd give it a try. At least it would be a learning experience. -- Amos