[#362036] Can I do this with Ruby? — Marlon Ng <sbstn26@...>
I have very little knowledge in programming. I tried to learn Visual
[#362075] Sendmail, semicolons and new lines — Toby Rodwell <trodwell@...>
I know the tile doesn't sound very Ruby-related but please bear with me!
[#362083] Teaching Programming Languages (including Ruby) — Samuel Williams <space.ship.traveller@...>
Hello,
Awfully ambitious!
yeah the links given are good..
Dear Aamir,
On 05/02/2010 02:28 PM, Samuel Williams wrote:
Dear Robert,
In message <35D31281-C741-411C-AA3B-0C51C2303B0A@gmail.com>, Samuel
[#362098] Main working window for Ruby is DOS? — Kaye Ng <sbstn26@...>
I know nothing about programming and am not a techy person, so please
Kaye Ng wrote:
On 2010-05-03, Kaye Ng <sbstn26@yahoo.com> wrote:
[#362116] School teacher still at it learning programming language — Hilary Bailey <my77elephants@...>
Now I while glimpsing at the beauty of Ruby, there is the software of
Dear Hilary,
Samuel Williams wrote:
Dear Hilary,
Samuel Williams wrote:
[#362144] Nokogiri bug or intended effect?? — Jeremy Woertink <jeremywoertink@...>
I'm trying to parse this (poorly formatted) page, and when I look at the
[#362155] * splat error — Kerwin Franks <kerwinfranks@...>
Hello, i need some help here, when i run the following code i get the
2010/5/4 Kerwin Franks <kerwinfranks@yahoo.co.uk>:
>
[#362166] Something I expected to work, but didn't! — Kurtis Rainbolt-greene <kurtisrainboltgreene@...>
irb(main):001:0> x = 2
Kurtis Rainbolt-greene wrote:
> should be allowed. "Path of least surprise" and all that, plus this
Gavin Sinclair wrote:
[#362168] Calculation in a block — Chandramouli Parasuraman <contactmouli@...>
Hi,
[#362192] Download version 1.8? — Cameron Smith <velvetpixel@...>
Where can I download the latest version of the 1.8 branch?
Cameron Smith wrote:
[#362215] for-in vs. map closures — Mike Austin <mike_ekim@...>
I was experimenting with closures and JavaScript's and Ruby's
On May 5, 9:01濛m, Jes俍 Gabriel y Gal疣 <jgabrielyga...@gmail.com>
On Wed, May 5, 2010 at 11:50 PM, Mike Austin <mike_ekim@yahoo.com> wrote:
On Wed, May 5, 2010 at 8:35 AM, Mike Austin <mike_ekim@yahoo.com> wrote:
[#362222] Why can't I do a "to_i?" — Peter Bailey <pbailey@...>
Hello,
[#362229] sudo gem install mysql problem — Pen Ttt <myocean135@...>
today i have installed ubuntu10.04.
[#362234] Using array instead of hash and still have efficient cross-referencing — Intransition <transfire@...>
Have a look at this class:
On 5/5/10, Intransition <transfire@gmail.com> wrote:
[#362235] do Rails/gems updates break applications? — enos76 <enos76@...>
Some time ago I started experimenting with Ruby on Rails.
[#362249] How to use Ruby portable? — "balzer" <nospam@...>
I downloaded Ruby binaries, ruby-1.8.7-p72-i386-mswin32.zip I' wondering
[#362257] Ruby Equivalent of "Pythonista" — Martin Rinehart <martinrinehart@...>
A savvy and enthusiastic Python programmer is called a "Pythonista."
[#362266] rmagick install fail — Rajinder Yadav <devguy.ca@...>
I can't seem to install rmagic on ubuntu 9.10 using ruby 1.9, I have
[#362273] How can I call String#replace (rb_str_replace()) in C API? — James Masters <james.d.masters@...>
Hi all,
[#362286] ri on sqlite — Intransition <transfire@...>
What do others think of a creating a new ri tool which uses a SQLite
Have you looked at fastri?
[#362332] Include? on array of objects — Greg Ma <gregorylepacha@...>
Hi,
[#362341] ease of porting (translating) ruby to C (vs. python)? — bwv549 <jtprince@...>
In a very small bioinformatics group I know of, they are deciding
On Fri, May 7, 2010 at 10:20 AM, bwv549 <jtprince@gmail.com> wrote:
On Fri, May 7, 2010 at 16:43, Tony Arcieri <tony.arcieri@medioh.com> wrote:
On Fri, 7 May 2010 09:16:36 -0700 (PDT), bwv549 <jtprince@gmail.com>
On 5/13/10, Charles Calvert <cbciv@yahoo.com> wrote:
[#362353] Is Ruby ready to embrace new Linux face and UI realities? — Igor Pirnovar <gooigpi@...>
I may be utterly out of line expecting sympathy for my concerns about
[#362360] Modify Class Instance Inside Another Class (scope problem?) — Leon Theremin <thephist@...>
First, I've not used a forum before, but I want to be more involved.
[#362369] Interactive Mode BASIC Interpreter (#232) — Daniel Moore <yahivin@...>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[#362375] Strings iteration — Viorel <viorelvladu@...>
I have some names like aaxxbbyy where xx is '01'..'10' and yy is also
[#362378] Tk Images - Transparency — Jesse Jurman <e.j.jurman@...>
I'm making a game with Ruby and Tk, but the transparency in the .gif
[#362381] Is 'require "rubygems" necessory? — mengjiang Liu <liumengjiang@...>
I create a sample app in padrino. orm is sequel and db is sqlite3 as
> I create a sample app in padrino. orm is sequel and db is sqlite3 as
[#362401] how to remove duplicates from hash — Lucky Nl <lakshmi27.u@...>
Hi ,
[#362414] Files — David Chapman <ideabolt@...>
Hi folks,
r+ will open the file and give you read-write access iff the file is
* iff the file exists.
Thanks. Question #2.
[#362415] wxruby2 - Error Message — Ivo Roupa <iroupa@...>
Hi all
[#362419] wcswidth, ruby 1.9, and string encodings — William Morgan <wmorgan-ruby-talk@...>
Hello all,
2010/5/10 William Morgan <wmorgan-ruby-talk@masanjin.net>:
[#362425] Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...>
Have apps moved over to the web (or GUI) totally ? Will there be any
Thomas Sawyer wrote:
On May 10, 10:31m, "R. Kumar" <sentinel.2...@gmx.com> wrote:
On Mon, May 10, 2010 at 2:13 PM, R. Kumar <sentinel.2001@gmx.com> wrote:
interface and/or the installation itself is terrible.
On Mon, May 10, 2010 at 10:28 PM, R. Kumar <sentinel.2001@gmx.com> wrote:
botp wrote:
Strange. I cant push a gem even after yanking.
On Tue, May 11, 2010 at 12:01 AM, R. Kumar <sentinel.2001@gmx.com> wrote:
On Tue, May 11, 2010 at 12:24 AM, botp <botpena@gmail.com> wrote:
botp wrote:
[#362429] how to implement 20 - point and point - 20 using coerce()? — Jian Lin <blueskybreeze@...>
In Ruby, the operation of
[#362445] IO select. Reconnect procedure. — Walle Wallen <walle.sthlm@...>
Hey, I have a minor problem with my IRC bot. It disconnects every while
[#362452] Unit Test of method calling system() - how? — Martin Hansen <mail@...>
How can I unit test the two methods:
On 5/10/10, Martin Hansen <mail@maasha.dk> wrote:
@Caleb
On 5/11/10, Martin Hansen <mail@maasha.dk> wrote:
OK, I am getting closer, but are still a bit confused. I feel like
Martin Hansen wrote:
> AFAICS this will always raise, since $? will never be nil. I think you
Martin Hansen wrote:
[#362455] VISIT A URL PROGRAMATICALLY — kevid <alumsimportant@...>
hi all,
[#362478] puts bug? — Roger Pack <rogerpack2005@...>
With this file:
[#362483] Question about rdoc (2.5.8) — byrnejb <byrnejb@...>
The answer is probably 'No! Why on earth would you want to do that?'
[#362492] How to Plot Data? — Ivo Roupa <iroupa@...>
Hi all,
[#362496] Problem renaming files — Jacob Davis <ismyhc@...>
Hi Everyone,
On Tue, May 11, 2010 at 5:10 AM, Jacob Davis <ismyhc@gmail.com> wrote:
[#362497] Ways to compare the performance of different Ruby implementations — Carter Cheng <cartercheng@...>
Greetings,
The best benchmark is your own application. Synthetic benchmarks are
Thanks for the reply. I guess perhaps my original post might not have
On 05/13/2010 12:51 AM, Carter Cheng wrote:
[#362498] In Ruby, can the coerce() method know what operator it is th — Jian Lin <blueskybreeze@...>
In Ruby, it seems that a lot of coerce() help can be done by
On 5/10/10, Jian Lin <blueskybreeze@gmail.com> wrote:
On Tue, May 11, 2010 at 4:46 PM, Caleb Clausen <vikkous@gmail.com> wrote:
On Wed, May 12, 2010 at 12:16 PM, Colin Bartlett
On Wed, May 12, 2010 at 6:13 PM, Rick DeNatale <rick.denatale@gmail.com> wrote:
Hi,
On Thu, May 13, 2010 at 2:07 PM, Benoit Daloze <eregontp@gmail.com> wrote:
On 13 May 2010 16:08, Colin Bartlett <colinb2r@googlemail.com> wrote:
[#362499] Need help using Savon gem! (SOAP) — ghettoiam <iamghetto@...>
I'm trying to use this "Sendfax" method defined here:
ghettoiam wrote:
Brian Candler wrote:
[#362508] Has dl/import change in 1.9? — Steve Andrews <salinhans@...>
Hi.
[#362513] help to run Ruby — "balzer" <nospam@...>
I am on windows XP.
[#362516] How to compair two object values.plz help me i write that co — Zubair Ansari <sweetzubair@...>
How to compair two object values.plz help me i write that code but not
[#362523] Differences in Time v1.8.6 and 1.9.1 — Daniel He <firekilroy@...>
Hello,
Write the smallest test program you can which demonstrates the issue. In
[#362545] interested in writing a commandline option parser for ruby? — William Morgan <wmorgan-ruby-talk@...>
Don't.
On Wed, May 12, 2010 at 12:39 AM, William Morgan
[#362552] How to read data in text file and put into the web page — Zubair Ansari <sweetzubair@...>
Hi i want to read data in the text file like.
[#362557] Super simple newbie Q about methods — Henry Oss <oss.hcs@...>
If I write:
[#362569] Timeout Error in pingecho — Sajjad Po <magicc0d3r@...>
hi.
[#362579] How to create the log — KingMaker KingMaker <sweetzubair@...>
How to create the log in ruby.
[#362608] How to synchronize files, from FTP to computer ? — Marc-antoine Kruzik <kadelfek@...>
Hello,
[#362612] about ruby -d script/server — Anqi Su <suaq@21cn.com>
any ruby and any rails ,when using ruby -d script/server,appear a lot of
[#362617] reading file after a particular line in file — Vandana <nairvan@...>
Hello All,
Robert Klemme <shortcutter@googlemail.com> wrote:
2010/5/13 Une B騅ue <unbewusst.sein@google.com.invalid>:
[#362635] Command Line Arguments problem — Derril Lucci <derril.lucci@...>
Greetings,
[#362647] Reading Data From Excel File — KingMaker KingMaker <sweetzubair@...>
I write some code for Reading data from excel file and put into the
Keyword, Object_Prop_Name ... there are constant values in Ruby.
Ayumu Aizawa wrote:
[#362652] How to read id3 tags from files — Benedikt Müller <benemue@...>
Hi
[#362657] Asynchronous HTTP request — Daniel DeLorme <dan-ml@...42.com>
Does anyone know how to do the following, but without threads, purely
On 13 May 2010 17:37, Daniel DeLorme <dan-ml@dan42.com> wrote:
Daniel N wrote:
On 18 May 2010 16:56, Daniel DeLorme <dan-ml@dan42.com> wrote:
Daniel N wrote:
Daniel DeLorme wrote:
Brian Candler wrote:
Daniel DeLorme wrote:
Brian Candler wrote:
So you didn't want a Thread, but you'll happily use a Fiber...
On Thu, May 13, 2010 at 1:37 AM, Daniel DeLorme <dan-ml@dan42.com> wrote:
[#362697] segmentation fault while using Ruby::DL — Jarmo Pertman <jarmo.p@...>
Hello.
[#362698] Citrus ~ Parsing Expressions for Ruby — Michael Jackson <mjijackson@...>
Hi all,
[#362708] RubyGems 1.3.7 — Eric Hodel <drbrain@...7.net>
rubygems version 1.3.7 has been released!
[#362712] Play audio file (AAC) from ruby program — "R. Kumar" <sentinel.2001@...>
I need to play, pause and resume AAC files from a ruby console program
if its for the mac, you could use MacRuby with QTKit.
[#362718] Range on strings. — Vikrant Chaudhary <nasa42@...>
Hi,
Hi --
[#362721] Comparing elements within an array — Toby Rodwell <trodwell@...>
I'm familiar with the enumberable sort method ...
On Fri, May 14, 2010 at 12:47 PM, Toby Rodwell <trodwell@iee.org> wrote:
[#362727] Reporting Bugs about REXML ? — Hadmut Danisch <hadmut@...>
Hi,
Just FYI, REXML is probably the worst possible XML library available
[#362739] Rake versus Ruby? — Mohit Sindhwani <mo_mail@...>
I was thinking of this on my way home, but could not come up with a good
[#362741] Problem ruby pwd in different directory — Gianluca Rettore <gladenko@...>
Hi my problem is this
[#362751] Propogate variable up to included module — James Hans <slush314@...>
Hey folks,
[#362782] Hash method in ruby — Tarun Yadav <sameeryadav.eck2003@...>
Hello group,
On 15.05.2010 12:45, Tarun Yadav wrote:
Hi Sebastian,
[#362786] Converting hexadecimal string to character — Michael Jackson <mjijackson@...>
If I have a string that represents some character in hex, what is the
[#362787] class best way for getters ? — unbewusst.sein@... (Une B騅ue)
i have a class "HFSFile" initialized by a parsed string
[#362795] Wx Ruby - MenuBar. What's wrong with my code? — Ivo Roupa <iroupa@...>
Hi all,
[#362804] Is Bundler Overkill? — Intransition <transfire@...>
This morning I thought about Bundler for a long time. I ended up
[#362813] chomp like Perl operator in Ruby — Parag Kalra <paragkalra@...>
Is there a chomp like Perl operator in Ruby using which I can literally
[#362833] user defined if condition — Mark Kirby <mark42@...>
hi iv just started to learn ruby 2 days ago and have no programing exp
[#362837] Array conversion — "Paul A." <cyril.staff@...>
Hi,
[#362839] iterating over sub arrays — James Harrison <oscartheduck@...>
Hey folks,
[#362854] Pick the value from the table. — KingMaker KingMaker <sweetzubair@...>
Hello Friends,
[#362869] Trying to install ruby-gtk2 on ubuntu 9.10 — Michel Revesche <michel.revesche@...>
I didn't find the gtk2 library on the ubuntu repositories and searching with
[#362873] Bundler Groups — Intransition <transfire@...>
I'd like to ask a more specific question about Bundler, pertaining to
I don't know, I have the same feeling. Also, even if you're in a production
[#362884] opening my files with a ruby program — Mark Kirby <mark42@...>
i was just wondering if i wanted my program to open a file on my pc what
[#362890] Opening a stream to multiple (possibly zipped) files — Martin Hansen <mail@...>
Hello,
[#362896] Dynamically adding methods to a class — Sam Uel <cannedlobstah@...>
Hi!
Thanks very much guys!
[#362912] require': No such file to load -- rubygems — Gerard Harte <gerharte@...>
Hey,
[#362918] Regexp help — Andrea Carmisciano <andrea.carmisciano@...>
Hi, I'm newbie to ruby, but I try searching a lot for my problem...
[#362920] rake gem : rake aborted! No Rakefile found — Draggy Draggy <johncsl82@...>
Hello People,
[#362921] Re: gui with ruby — Alex DeCaria <alex.decaria@...>
Mark Kirby wrote:
[#362922] (Net::SSH::HostKeyMismatch — Kamal Ahmed <kamal2222ahmed@...>
Hi,
[#362929] YAML validation — Kevin Austin <nitsuanivek@...>
I am sorting through a heap of yaml files looking for the following
[#362934] class arrays — poseid <mulder.patrick@...>
Hello,
[#362965] opening urls — Mark Kirby <mark42@...>
hi could any one tell me how to open a web page in ruby i can open files
On Tuesday, May 18, 2010 01:47:39 pm Mark Kirby wrote:
[#362979] curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...>
Two questions:
On 10-05-18 02:35 PM, Xeno Campanoli / Eskimo North and Gmail wrote:
On Tue, May 18, 2010 at 6:56 PM, Xeno Campanoli / Eskimo North and
Well, I got that -dev thing installed with apt-get, and then I tried again and
>>>>
On 10-05-18 04:12 PM, James Harrison wrote:
On 10-05-18 04:28 PM, Xeno Campanoli / Eskimo North and Gmail wrote:
2010/5/19 Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@gmail.com>:
On 10-05-20 02:37 AM, Robert Klemme wrote:
2010/5/20 Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@gmail.com>:
[#362993] 64 bit ruby interpreter — Bruno Sousa <brgsousa@...>
Since when does 64bit ruby interpreter exists?
It was 64 bit since you have the possibility to build it from source :)
Ops :P
[#363006] How to print out all of an object's instance variables? — Jian Lin <blueskybreeze@...>
When it is RoR, we can use ActiveRecord's attributes method to get a
[#363009] passing values from partial to controller — Ravi Dtv <venkataravi.tdomarouthu@...>
I am trying to pass login and group_name from partial to controller, but
hi,
Gregor Panek wrote:
Hi,
Gregor Panek wrote:
yeah that's because you pass only one parameter to the hidden_field_tag so you got this:
[#363027] Retrieve instance — Walle Wallen <walle.sthlm@...>
Quick question. Can I somehow retrieve the instance of the class Test in
2010/5/19 Walle Wallen <walle.sthlm@gmail.com>:
On Wednesday, May 19, 2010 09:54:03 am Robert Klemme wrote:
2010/5/19 David Masover <ninja@slaphack.com>:
On Wednesday, May 19, 2010 01:53:58 pm Robert Klemme wrote:
[#363035] Agile web Development with Rails section 9.3 — Angel Dinar <dinar603@...>
Hello
[#363062] define_method inside instance_eval — Adriano Nagel <anr@...>
Hi,
Well the first thing that I see is that your missing the (*args) in the
Ok I reread your problem.
[#363067] method returning a hash, is the hash in the heap? — Jian Lin <blueskybreeze@...>
For this program:
[#363076] Scrape javascript content — Phil Mcdonnell <phil.a.mcdonnell@...>
I'm trying to scrape a page that hides some data behind a javascript
On Thu, May 20, 2010 at 1:48 AM, Phil Mcdonnell
The other trick here is that this page is behind a login. Mechanize
[#363089] Executing Password Change over Ruby Net-SSH — Tyler Smart <tyleresmart@...>
[#363105] Ruby/Tk-Kit for RubyInstaller 1.9.1p378rc2 — Hidetoshi NAGAI <nagai@...>
Hi.
> Now, you can download a trial version of Ruby/Tk-Kit for RubyInstaller
From: Roger Pack <rogerpack2005@gmail.com>
[#363111] Merging two arrays -> array of arrays — Allen Walker <auswalk@...>
Example:
[#363115] OMG, why are there so many Strings in ObjectSpace! — timr <timrandg@...>
I was playing around looking at ObjectSpace in irb and was astounded
On Fri, May 21, 2010 at 1:35 AM, timr <timrandg@gmail.com> wrote:
I would rather count like this
Hei everyone,
[#363126] Ruby gem for Growl — Dimitri Df <ddefrenne@...>
I'm looking for a gem that's able to send Growl notifications and
[#363142] Validation for feed links using by 'rss' — Swapna Ch <swapna.ch@...>
Hi all,
[#363145] Application Name / Process Name — 12345678 123456789 <nonstickglue@...>
Is there any way to set the application name or process name that
[#363153] Eval, SAFE, and Sandbox — Simon Mcbryan <smcbryan@...>
Hello Ruby Forum.
[#363159] Internal string storage and Encoding::Converter#convpath — Patrick Thomson <pthomson@...>
Hi, everyone:
[#363169] rubygems freezes with expand_path error — Bruno Sousa <brgsousa@...>
Hi,
[#363178] Ruby one-file launcher that sets up environment? — Michal Suchanek <hramrach@...>
Hello
Michal Suchanek wrote:
On 23 May 2010 13:55, Henning Bekel <h.bekel@googlemail.com> wrote:
[#363196] Does rubyscript2exe still work? — Mark Marksest <marksest@...>
I'm trying to get rubyscript2exe to work.
[#363199] IPAddress: new IP manipulation library — bluemonk <ceresa@...>
Hi,
[#363203] Ruby Newbie...Classes and Objects, oh my! — fuglyducky <fuglyducky@...>
I'm very new to Ruby and I'm trying to create a program that will take
On May 24, 8:57m, Robert Dober <robert.do...@gmail.com> wrote:
[#363225] Redefine a Class? — Mark T <paradisaeidae@...>
Currently this raises: superclass mismatch for class Soda (TypeError)
Mark T wrote:
Hi Marcin,
Mark T wrote:
I'm looking for something... kinda 'destructive'....
[#363227] The order of garbage collection — Ali Polatel <alip@...>
[#363239] Get methods params type soap4r — Marco Sangiorgi <ingegnerlillo@...>
Hello everybody, I'm using the following to get a driver to call to some
[#363240] Funny IO.select behaviour — Dennis Nedry <dennis@...>
I've been debugging my full screen console ruby editor.
Dennis Nedry wrote:
On Tue, May 25, 2010 at 5:23 PM, Joel VanderWerf
On Tue, May 25, 2010 at 8:57 PM, Dennis Nedry <dennis@cortex-media.info> wrote:
No takers I guess. Code must be worse than I thought... (;
Hi,
On Thu, May 27, 2010 at 3:23 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
[#363249] Looking for a 3D physics engine — Marc-antoine Kruzik <kadelfek@...>
Chipmunk seems to be a pretty cool 2D physics engine, but does a 3D
[#363264] In-code data — Jerome David Sallinger <imran.nazir@...>
Hi,
[#363279] how to achieve parallelism, using threads? — Walle Wallen <walle.sthlm@...>
Hey,
On Wed, May 26, 2010 at 12:07 PM, Walle Wallen <walle.sthlm@gmail.com> wrote:
> So you want the main thread to do some work in parallel with the other
[#363285] Regarding Arrays — Sourav Haldar <sourav.haldar2010@...>
2010/5/26 Sourav Haldar <sourav.haldar2010@hotmail.com>:
[#363287] round the floating point to nearest halfpoint — Lucky Nl <lakshmi27.u@...>
Hi ,
[#363295] Money 3.0.1 — Shane Emmons <shane.emmons@...>
Money 3.0.1 Released
[#363322] Badly organized code? — Martin Hansen <mail@...>
Hi all,
2010/5/27 Martin Hansen <mail@maasha.dk>:
Hi Robert,
[#363324] how to call gnuplot from ruby? — Pen Ttt <myocean135@...>
i want to call gnuplot from ruby,my ruby script:
[#363348] Ruby as Client Side Language in Web Browser (replacing JS) — "Simone R." <k5mmx@...>
Hi everybody,
Simone R. wrote:
You're on a hiding to nothing I think; if you can't rely on it being
[#363364] Ruby confused about current directory? — Brian Hartin <brian.hartin@...>
Hi all,
[#363369] RubyInline folder — Bruno Sousa <brgsousa@...>
Hi!
[#363376] Win32::Screenshot (old name win32screenshot) 0.0.4 — Jarmo Pertman <jarmo.p@...>
Hello.
[#363378] permissions problem when running Ruby — Bev Bev <beverley.hinkle@...>
I am having a permissions problem which no one else on the developement
[#363391] Insecure operation - chdir — Yang Zhang <yanghatespam@...>
When running rake from a suid binary:
[#363392] Ruby Core - Lambda function — "Paul A." <cyril.staff@...>
Hi,
On 5/27/10, Paul A. <cyril.staff@gmail.com> wrote:
[#363411] Reports & Graphs — Stuart Clarke <stuart.clarke1986@...>
Hey all,
[#363412] A better way to write this function? — Jason Lillywhite <jason.lillywhite@...>
Here is my attempt at Newton's second law in Ruby:
Jason Lillywhite wrote:
On Fri, May 28, 2010 at 4:20 PM, Jason Lillywhite <
[#363417] Interrupting the evaluation of a ruby script — Emmanuel Emmanuel <emmanuel.bacry@...>
This is my problem :
Emmanuel Emmanuel wrote:
On 5/29/10, Emmanuel Emmanuel <emmanuel.bacry@polytechnique.fr> wrote:
Caleb Clausen wrote:
On 5/31/10, Emmanuel Emmanuel <emmanuel.bacry@polytechnique.fr> wrote:
Caleb Clausen wrote:
[#363426] A complete beginners question — Ant Walliams <anthonywainwright@...>
Hi there,
puts 'What is your favourite number?'
On Sat, May 29, 2010 at 03:29:15AM +0900, Ant Walliams wrote:
On 28/05/10 19:29, Ant Walliams wrote:
Hi, i am in Osx and i had installed Ruby 1.8.7. I want to make a
On Sat, May 29, 2010 at 2:43 PM, Emma Pidre <equisigriegazeta@gmail.com>wrote:
Il 30/05/10 13.20, Josh Cheek ha scritto:
Hi, trhans for the answer. This is not working. I saw that already had
[#363432] Dynamic SVG with Ruby/Tk — Yotta Meter <spam@...>
The example I'm looking for in regards to ruby/SVG differs from the
Yotta Meter schrieb:
[#363443] Suggestion to design specific network client — Francesco Vollero <ravenz@...2.ie>
Hi,
On 5/28/10, Francesco Vollero <ravenz@o2.ie> wrote:
[#363445] .rb security — Ed Gallagher <ameliorable@...>
Hi All,
[#363457] Source Code for puts(..) — Derril Lucci <derril.lucci@...>
Dear all,
[#363467] Date.today problem on linux with Ruby 1.8.6 — Jarmo Pertman <jarmo.p@...>
Hello.
Time.now works correctly
Also, found one very similar problem, but no solutions...
On Sat, May 29, 2010 at 1:03 PM, Jarmo Pertman <jarmo.p@gmail.com> wrote:
jarmo@jarmo-laptop:~/Downloads$ gcc -v
i executed make test and it seems that some of the tests are also
[#363479] Inject Loop Syntax — Intransition <transfire@...>
I wonder if any other languages have any sort of "multiplicative
[#363480] Square Root — Angus Hammond <angushammond@...>
Is there a way to get an accurate square root?
[#363493] `require': no such file to load on Windows — Toshiro Miballza <toshiromiballza@...>
Hello, I'm new to Ruby and came across this error when trying to run:
[#363508] How to load code converters? — O01eg Oleg <o01eg@...>
When I try to encode string in program I got
On 5/30/10, O01eg Oleg <o01eg@yandex.ru> wrote:
[#363520] uninitialized constant error... trying to create a TCPsocket in a module — Dennis Nedry <dennis@...>
Okay, forget about the editor thing.. (;
On 5/30/10, Dennis Nedry <dennis@cortex-media.info> wrote:
On Mon, May 31, 2010 at 2:36 AM, Caleb Clausen <vikkous@gmail.com> wrote:
[#363524] enumerator problem in 1.9.1 — Bug Free <amberarrow@...>
The following line:
On Mon, May 31, 2010 at 9:04 AM, Bug Free <amberarrow@yahoo.com> wrote:
2010/5/31 botp <botpena@gmail.com>:
On Mon, May 31, 2010 at 10:34 AM, Robert Klemme
Robert Dober wrote:
Robert Dober wrote:
I am afraid that is incorrect :(
On Mon, May 31, 2010 at 4:34 PM, Robert Klemme
[#363529] Does Rails 3.0.0 beta3 work with ruby 1.9.1 on Windows XP? — "Dave.Hurrell@..." <dave.hurrell@...>
Does Rails 3.0.0 beta3 work with ruby 1.9.1 on Windows XP?
[#363540] 1.9.1-p376 vs. 1.9.1-p378 — Jeremy Henty <onepoint@...>
I just noticed that both http://www.ruby-lang.org/en/ and
[#363558] Ruby 1.9.2-preview3 is out — "Yugui (Yuki Sonoda)" <yugui@...>
Hi,
Re: Funny IO.select behaviour
On Tue, May 25, 2010 at 2:23 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
> I feel sympathy, but above code snippet help us nothing. f you need
> help from the list, you'd better disclose everything, to reproduce the
> problem, no matter how bad your code is right now.
But Matz, my Ruby is real bad. It looks like my Pascal did. I never
did manage to get my head around this new fangled stuff. I'm 41, and
i learned to program when i was about 10, on a pdp 11. Anyway, I'm
getting off topic. Did I thank you for this wonderful language.
Anyway, here goes... these are the two main files...
fsed.rb (Poor Dossy)
#
# Full Screen EDitor (FSED) for QUARKware QBBS.
#
# Copyright (C) 2002, Dossy <dossy@panoptic.com>
# All rights reserved.
#
# $Id: fsed.rb,v 1.1 2002/09/12 12:27:16 dossy Exp $
#
module Editors
module FSED
VERSION = "0.75"
ESC = 27.chr
RETURN = 10.chr
class Buffer
def initialize(max_lines,in_file)
@buffer = getfile(in_file)
@max_lines = max_lines
end
def []=(x, y, value)
if @buffer[y - 1] == nil
@buffer[y - 1] = []
end
@buffer[y - 1][x - 1] = value
end
def [](x, y)
if @buffer[y - 1].nil?
nil
else
@buffer[y - 1][x - 1]
end
end
def clear
@buffer = []
end
def length
@buffer.length
end
def delete_at(x, y)
unless @buffer[y - 1].nil?
@buffer[y - 1].slice!(x - 1) # used to use delete_at but that
didn't always work.
end
end
def insert_at_line(y,x,in_str)
inthing = nil
if !in_str.nil? then
in_str.each_with_index {|c,i| @buffer[y-1].insert(x+ i,c)}
end
end
def insert_line_at(y,ln)
@buffer[y] = [] if @buffer[y] == nil
@buffer.insert(y,ln)
end
def delete_line_at(y)
@buffer.delete_at(y - 1)
end
def buffer_length
return @buffer.length
end
def length_y(y)
if !@buffer[y - 1].nil?
return @buffer[y - 1].length
else
return 0
end
end
def del_range(y,x1,x2)
total = x2 - x1
str = @buffer[y-1].slice!(-(total),total)
return str
end
def insert_char(x, y, value)
@buffer[y - 1] = [] if @buffer[y - 1] == nil
if (x-1) > @buffer[y-1].length then
@buffer[y-1] << value
else
@buffer[y - 1].insert(x-1,value)
end
end
def find_first_space(y)
return @buffer[y-1].index(" ")
end
def find_nearest_space(y,space)
result = nil
@buffer[y - 1] = [] if @buffer[y - 1].nil?
highest = 0
@buffer[y-1].each_with_index {|c,i|
highest = i
result = i if (c == " ") and (i <= space)
}
result= highest if highest <= space
return result
end
def paragraph_up(start_y,width)
for i in start_y..@buffer.length #- 1
break if @buffer[i,0].nil?
pos = length_y(i-1)
space = width - pos #how much space on the line above?
unwrap_space = find_nearest_space(i,space)
break if unwrap_space.nil? or unwrap_space == 0
unwrap_str = del_range(i,0,unwrap_space+1)
insert_at_line(i - 1,pos,unwrap_str)
end
end
def detect_and_wrap(y,x,width)
l_space = 0; wrap = nil
@buffer[y - 1] = [] if @buffer[y - 1].nil?
l = @buffer[y-1].length - 1
test = @buffer[y-1]
if !@buffer[y-1][width].nil? then #is there now a character past max_width
test.slice!(-1) if test.last == " "
l_space = test.rindex(' ')
wrap = @buffer[y-1][l_space..l]
del_range(y,l_space+1,l+1)
return [l_space,wrap]
end
end
def line(line)
if !@buffer[line - 1].nil? then #protect against backspace on
an empty line -- produces a nil
@buffer[line - 1].collect { |char|
if char.nil?
" "
else
char
end
}.to_s.chomp
end
end
def buff_out
@buffer.collect { |line|
if line.nil?
"\n"
else
[ line.collect { |char|
if char.nil?
" "
else
char
end
}, "\n" ].to_s
end
}
end
def dump
@buffer.collect { |line|
if line.nil?
"\n"
else
[ line.collect { |char|
if char.nil?
" "
else
char
end
}, "\n" ].to_s
end
}.to_s.chomp
end
# def display
# i = 0
# @buffer.collect { |line| i = i + 1
# if line.nil?
# "#{i}: \n"
# else
# "#{i}: " << [ line.collect { |char|
# if char.nil?
# " "
# else
# char
# end
# }, "\n" ].to_s
# end
# }.to_s.chomp
#end
def to_s(top_start,vp_height)
out = String.new
top_stop = @buffer.length - 1
top_stop = vp_height + top_start - 1 if @buffer.length - 1 >=
vp_height + top_start
for i in top_start..top_stop
one_line = @buffer[i].to_s
out = out+ one_line + "\n"
end
out
end
def room_on_line(y,str,width)
room = false
if !@buffer[y].nil?
if !str.nil? then
room = true if (@buffer[y].length - 1) + str.length < width
end
end
return room
end
def getfile(filename)
file_array = []
if !filename.nil? then
#this used to use chars.to_a but it didn't always work right
if File.exists?(filename)
IO.foreach(filename) { |line|
line.gsub!("\n","")
line.gsub!("\r","")
build = []
for i in 0..line.length-1
build << line[i].chr
end
file_array << build}
end
end
puts
file_array
end
end
class EditorState
attr_reader :current_cursor_position, :previous_cursor_position
attr_reader :screen_width, :screen_height
attr_reader :viewport_width, :viewport_height
attr_reader :header_height
attr_reader :buffer
def initialize(width, height,in_file)
@dirty = true
@current_cursor_position = [1, 1]
@previous_cursor_position = [1, 1]
@screen_width = width
@screen_height = height
@buffer = Buffer.new(500,in_file)
@buffer_top = 0
@header_height = 2
@viewport_width = @screen_width
@viewport_height = @screen_height - @header_height
@wrapped = false
@insert = true
open_error_log
end
require "windows.rb"
def open_error_log
$lf = File.new("debug.txt", File::CREAT|File::TRUNC|File::RDWR, 0644)
end
def current_x
@current_cursor_position[0]
end
def current_y
@current_cursor_position[1]
end
def place_cursor(x, y)
@previous_cursor_position = @current_cursor_position
@current_cursor_position = [x, y]
@dirty = true
end
def move_cursor_up(x)
result = NO_REDRAW
new_y = current_y - x
if new_y < 1 then
new_y = 1
@buffer_top -=x if @buffer_top > 0
result = REDRAW
end
place_cursor(current_x, new_y)
return result
end
def page_up
redraw = move_cursor_up(@viewport_height)
return redraw
end
def move_cursor_down(x)
result = NO_REDRAW
new_y = current_y + x
@wrapped = false
if new_y >=@viewport_height then
new_y = (current_y)
@buffer_top += x
result = REDRAW
end
place_cursor(current_x, new_y)
return result
end
def page_down
down = @buffer.buffer_length - (current_y+ @buffer_top)
if down > @viewport_height then
redraw = move_cursor_down(@viewport_height)
return redraw
else
return NO_REDRAW
end
end
def move_cursor_left(x)
new_x = current_x - x
new_x = 1 if new_x < 1
place_cursor(new_x, current_y)
end
def home_cursor
place_cursor(1,current_y)
end
def move_cursor_right(x)
new_x = current_x + x
new_x = @viewport_width if new_x > @viewport_width
place_cursor(new_x, current_y)
end
def end_cursor
end_line = @buffer.length_y(current_y)+1
end_line = @viewport_width if end_line > @viewport_width
place_cursor(end_line,current_y)
end
def clear_screen
"#{ESC}[2J#{ESC}[H#{ESC}[00m"
end
def toggle_ins
@insert = !@insert
end
def parse_c(line)
COLORTABLE.each_pair {|color, result| line.gsub!(color,result) }
return line
end
def header
out_str = "INS"
out_str = "OVR" if !@insert
out = String.new
out << parse_c("%WQuark%YEDIT #{VERSION}%W".fit(79)) +"\n"
out << parse_c("%YCTRL + e%YX%Wit %Y|%W %YG%W Help %Y|%W %YS%Wave
%Y|%W %YN%Wewline %Y|%W %YY%W Delete %Y|%W #{out_str} %Y|%W Line:
#{current_y + @buffer_top}".fit(79)) << "\n"
out << bg("black") << fg("WHITE")
return out
end
def redraw(force)
@dirty = true if force
if @dirty
@dirty = false
if force
[clear_screen,
header,
buffer.to_s(@buffer_top,@viewport_height),
update_cursor_position].to_s
else
""
end
else
""
end
end
def clear
@buffer.clear
end
# this is complicated... too complicated...
def input_char_at_cursor(c)
if @insert then #we are
in insert mode
@buffer.insert_char(current_x,(current_y) + @buffer_top,c)
l_space,wrap = @buffer.detect_and_wrap(current_y,current_x,@screen_width - 1)
if !wrap.nil? then
if !(current_x < @buffer.length_y(current_y) - 1) then
#no wrap... insert a character
if (current_x + wrap.length) < @screen_width then
move_cursor_right(1)
return [c,NO_REDRAW]
else
#wrap at insert at end of line
@buffer.insert_line_at(current_y,wrap.to_s.strip!)
home_cursor
move_cursor_right(wrap.length - 1)
move_cursor_down(1)
end
$lf.print "I'm here...wrap line\n"
return [nil,REDRAW] #we don't want a character
printed because we are in overflow
end
$lf.print "@buffer.length + wrap.length:
#{@buffer.length_y(current_y) +(wrap.length + 2)}\n"
$lf.print "@screen_width: #{@screen_width}\n"
$lf.print "room on line: #{@buffer.room_on_line(current_y +
1,wrap,@screen_width)}\n"
$lf.print "@buffer.length: #{@buffer.length}\n"
if (@buffer.length_y(current_y) + (wrap.length + 2)) >=
@screen_width then #wrap for insert not at end of line
$lf.print "in insert not at end of line...\n"
if @buffer.room_on_line(current_y + 1,wrap,@screen_width) then
@buffer.insert_at_line(current_y+1,0,wrap) #subsequent words go
to next line
$lf.print "on next existing line...\n"
else
@buffer.insert_line_at(current_y,wrap) #out of room so make a new line
$lf.print "on a new line...\n"
end
move_cursor_right(1)
$lf.print "done with insert before line\n"
return [c,REDRAW]
end
end
move_cursor_right(1) #redraw because we are inserting...
if (@buffer.length_y(current_y)+1) == current_x then
return [c,NO_REDRAW] #insert mode at eol so no redraw
else
return [c,REDRAW] #insert mode not at eol, so redraw
end
else
if current_x < @screen_width then
@buffer[current_x,(current_y) + @buffer_top] = c #we are in
over-write mode....
move_cursor_right(1)
$lf.print "Overwrite Mode\n"
return [c,NO_REDRAW]
else
$lf.print "I'm here...sixth return\n"
return [nil,NO_REDRAW]
end
end
end
def newline
if @buffer.length_y(current_y) == 0 then
@buffer.insert_line_at(current_y,nil)
move_cursor_down(1)
else
str = @buffer.del_range(current_y,current_x-1,@buffer.length_y(current_y))
@buffer.insert_line_at(current_y,str)
move_cursor_left(current_x)
move_cursor_down(1)
end
@dirty = true
end
def deleteline
@buffer.delete_line_at(current_y)
end
def backspace
if current_x > 1 then #normal delete, not at BOL
move_cursor_left(1)
@buffer.delete_at(current_x, current_y)
else
if current_y > 1 then # delete at BOL
if @buffer.length_y(current_y-1) == 0 then #blank line above
@buffer.delete_line_at(current_y-1)
move_cursor_up(1)
else
@buffer.paragraph_up(current_y,@screen_width) #move up until you
hit a blank line...
move_cursor_up(1)
home_cursor
move_cursor_right(@buffer.length_y(current_y))
end
return REDRAW
end
end
return REDRAW
end
def update_cursor_position
"#{ESC}[#{current_y + @header_height};#{current_x}H"
end
def w_update_cursor(x,y)
"#{ESC}[#{y + @header_height};#{x}H"
end
def w_clear
return @c.reset
end
def fg(forground)
out = String.new
case forground
when "red"
out = "[31m"
when "RED"
out = "[;1;31m"
when "green"
out << "[32m"
when "GREEN"
out = "[;1;32m"
when "blue"
out = "[34m"
when "BLUE"
out = "[;1;34m"
when "cyan"
out = "[36m"
when "CYAN"
out = "[;1;36m"
when "magenta"
out = "[35m"
when "MAGENTA"
out = "[;1;35m"
when "yellow"
out = "[33m"
when "YELLOW"
out = "[;1;33m"
when "black"
out = "[30m"
when "BLACK"
out = "[;1;30m"
when "hide"
out = "[?25l"
when "show"
out = "[?25h"
when "reset"
out = "[0m"
end
return out
end
def bg(background)
out = String.new
case background
when "red"
out = "[41m"
when "green"
out = "[42m"
when "blue"
out = "[44m"
when "cyan"
out = "[46m"
when "magenta"
out = "[45m"
when "yellow"
out = "[43m"
when "black"
out = "[40m"
when "white"
out = "[47m"
end
return out
end
def center(string,width,color)
result = String.new
outdash = ((width / 2 ) - (string.length / 2))
outdash.times {result << " "}
result << color if !color.nil?
result << string
(width - (outdash + string.length)).times {result << " "}
return result
end
def make_window(startx,starty,width,height,forground,background,border,title)
f_color = fg(forground)
b_color = bg(background)
bdr_color = bg(border)
window = String.new
window << w_update_cursor(startx,starty)
window << bdr_color
window << center(title,width,nil)
for i in 1..height do
window << w_update_cursor(startx,starty+i)
window << bdr_color << " " << b_color
(width - 2).times {window << " "}
window << bdr_color << " "
window << bg("white") << " "
end
window << w_update_cursor(startx,starty+height) << bdr_color
width.times {window << " "}
window << w_update_cursor(startx+1,starty+height+1) << bg("white")
width.times {window << " "}
window << w_update_cursor(startx,starty)
return window
end
def help_window
idt = 16
str = 5
width=58
out = make_window(str,2,60,12,"BLACK","cyan","blue","Help Window")
out << w_update_cursor(idt,str) << fg("yellow") << bg("cyan")
out << "CTRL-A" << fg("white") << " Abort Message"
out << w_update_cursor(idt,str+1) << fg("yellow")
out << "CTRL-L" << fg("white") << " Refresh Screen"
out << w_update_cursor(idt,str+2) << fg("yellow")
out << "CTRL-N" << fg("white") << " New Line"
out << w_update_cursor(idt,str+3) << fg("yellow")
out << "CTRL-X" << fg("white") << " Save (Post) Message"
out << w_update_cursor(idt,str+4) << fg("yellow")
out << "CTRL-Y" << fg("white") << " Delete Line"
out << w_update_cursor(idt,str+6) << fg("yellow")
out << "INSERT" << fg("white") << " Toggle Insert/Overwrite"
out << w_update_cursor(idt,str+8)
out << "ESC to exit this window." << fg("white")
end
def splash_window
idt = 15
str = 8
width = 38
out = make_window(idt-1,str-1,40,8,"WHITE","magenta","cyan","About")
out << w_update_cursor(idt,str+1) <<fg("yellow") << bg("magenta")
out << center("QUARKedit #{VERSION}",width,fg("white"))
out << w_update_cursor(idt,str+3)
out << center("By Dossy and Mark Firestone",width,fg("white"))
out <<w_update_cursor(idt+36,str+7)
#out << fg("hide")
end
def yes_no_window(question)
idt = 11
str = 10
w_width = question.length + 14
width = w_width - 2
out = make_window(idt-2,str-1,w_width,4,"WHITE","red","yellow","Confirm")
out << w_update_cursor(idt+1,str+1)
out << fg("WHITE") << bg("red")
out << question << "(Y,n): "
end
def screen_clear # I don't know why. Needs two redraws or the
background color is wrong....
out = redraw(true)
out << redraw(true)
return out
end
end #of class
class Editor
#Window Constants
MESSAGE = 1
ABORT = 2
SAVE = 3
SPELL = 4
def initialize(width, height, in_io, out_io,in_file,bbs_mode)
@state = EditorState.new(width, height,in_file)
@in_io = in_io
@out_io = out_io
@w_mode = false
@w_type = MESSAGE
@supress = false
@bbs_mode = bbs_mode
end
def run
@out_io.sync = true
@in_io.sync = false
@out_io.print @state.screen_clear
@out_io.print @state.redraw(true)
@out_io.print @state.splash_window
sleep(1)
@out_io.print @state.redraw(true)
@out_io.print @state.redraw(true)
buf = nil
while true
if select([@in_io], nil, nil, 1)
$lf.print "I made it"
c = @in_io.sysread(1)
$lf.print "after sysread"
#c = @in_io.getc
# $lf.print"c: #{c}\n"
# $lf.print"c-chr: #{c[0]}\n"
# if @supress then # if we are suppressing the mysterious
extra linefeed... we do that here.
# @supress = false
# c = 0.chr if c.bytes.to_a[0] = 10
# end
if @w_mode then #We are in window mode, not edit mode...
# $lf.print "in wmode\n"
#$lf.print "c: #{c.upcase}"
case c
when "\e" #effectively, esc this is cancel for everything
@w_mode = false
@out_io.print @state.screen_clear
else
case @w_type
when ABORT,SAVE
if c.upcase == "Y" or c == RETURN then
print "Y"
@state.clear if @w_type == ABORT
@state.clear_screen
sleep(2)
break
else
@out_io.print @state.screen_clear
@w_mode = false
end
end
end
else
case c
when "\cX" # exit
@out_io.print @state.yes_no_window("Post message... Are you sure?")
@w_type = SAVE
@w_mode = true
when "\cG","\eOP"
@out_io.print @state.help_window
@w_type = MESSAGE
@w_mode = true
when "\cA"
@out_io.print @state.yes_no_window("Abort message... Are you sure?")
@w_type = ABORT
@w_mode = true
when "\cN" #insert line
@state.newline
@out_io.print @state.redraw(true)
when "\cY" #delete line
@state.deleteline
@out_io.print @state.redraw(true)
when "\cL" # refresh
@out_io.print @state.redraw(true)
when "\r","\n"
@state.newline
@supress = true if @bbs_mode #telnet seems to like to echo
linefeeds. lets supress this ...
@out_io.print @state.redraw(true)
when "\010", "\177"
redraw = @state.backspace
@out_io.print "\e[#{@state.current_y + @state.header_height};1H\e[K"
@out_io.print @state.buffer.line(@state.current_y)
@out_io.print @state.update_cursor_position
@out_io.print @state.redraw(true) if redraw
when "\e" # escape
buf = c
else
if buf.nil?
chr = c.unpack("c")[0]
if (chr >= 32 && chr <= 127)
out_c,redraw = @state.input_char_at_cursor(c)
@out_io.putc(out_c) if !out_c.nil?
@out_io.print @state.redraw(true) if redraw
end
else
buf << c
# $lf.print "buf: #{buf}\n"
case buf
when "\e[H","\e[1"
@state.home_cursor
@out_io.print @state.update_cursor_position
when "\e[F","\e[4"
@state.end_cursor
@out_io.print @state.update_cursor_position
when "\e[6"
redraw = @state.page_down
@out_io.print @state.redraw(true) if redraw
when "\e[5"
redraw = @state.page_up
@out_io.print @state.redraw(true) if redraw
when "\e[2"
@state.toggle_ins
@out_io.print @state.redraw(true)
when "\e[A"
redraw = @state.move_cursor_up(1)
if redraw
@out_io.print @state.redraw(true)
else
@out_io.print @state.update_cursor_position
end
buf = nil
when "\e[B"
redraw = @state.move_cursor_down(1)
if redraw
@out_io.print @state.redraw(true)
else
@out_io.print @state.update_cursor_position
end
buf = nil
when "\e[D"
@state.move_cursor_left(1)
@out_io.print @state.update_cursor_position
buf = nil
when "\e[C"
@state.move_cursor_right(1)
@out_io.print @state.update_cursor_position
buf = nil
else
if buf.size >= 3
buf = nil
end
end
end
end
end
end
end
@state.buffer
end
end
end
end
file edit.rb:
require 'fsed'
require "tools.rb"
#require "raspell"
#Consts
SPELL_CHECK = true #if you don't want raspell, comment out the
require above.
COLORTABLE = {
'%R' => "\e[;1;31;44m", '%G' => "\e[;1;32;44m",
'%Y' => "\e[;1;33;44m", '%B' => "\e[;1;34;44m",
'%M' => "\e[;1;35;44m", '%C' => "\e[;1;36;44m",
'%W' => "\e[;1;37;44m", '%r' => "\e[;31;44m",
'%g' => "\e[;32;44m", '%y' => "\e[;33;44m",
'%b' => "\e[;34;44m", '%m' => "\e[;35;44m",
'%c' => "\e[;36;44m", '%w' => "\e[;31;44m"
}
REDRAW = true
NO_REDRAW = false
def tcgetattr(io)
_TCGETA = 0x5405
attr = [0, 0, 0, 0].pack("SSSS")
io.ioctl(_TCGETA, attr)
attr
end
def tcsetattr(io, attr)
_TCSETA = 0x5406
io.ioctl(_TCSETA, attr)
end
def writefile (filename,array)
lf = File.new(filename, File::WRONLY|File::TRUNC|File::CREAT, 0644)
array.each {|x|
print "."
lf.puts x}
lf.close
puts
end
def pull_apart_args(args)
bbs_mode = false
filename = nil
if !args.nil then
filename = args.last
args.each {|arg| bbs_mode = true if arg == "-L"
#put more switches here
}
end
return [bbs_mode,filename]
end
begin
unless RUBY_PLATFORM =~ /mswin32/
# turn off stdin buffering and echo
# c_iflag bits
INLCR = "0000100".to_i
IGNCR = "0000200".to_i
ICRNL = "0000400".to_i
# c_oflag bits
OPOST = "0000001".to_i
# c_lflag bits
ISIG = "0000001".to_i
ICANON = "0000002".to_i
ECHO = "0000010".to_i
old_attr = tcgetattr($stdin)
input, output, control, local = old_attr.unpack("SSSS")
# input &= ~(INLCR | IGNCR | ICRNL)
# output &= ~OPOST
#local &= ~(ECHO | ICANON | ISIG)
local &= ~(ECHO)
new_attr = [input, output, control, local].pack("SSSS")
tcsetattr($stdin, new_attr)
end
bbs_mode,in_file = pull_apart_args(ARGV)
puts "bbsmode: #{bbs_mode}"
sleep(2)
editor = Editors::FSED::Editor.new(80, 23, STDIN.to_io,
$>.to_io,in_file,bbs_mode)
buffer = editor.run
# if bbs_mode then
$lf.print "writing file...\n"
writefile(in_file,buffer.buff_out)
$lf.print "file written...\n"
#end
ensure
unless RUBY_PLATFORM =~ /mswin32/
tcsetattr($stdin, old_attr)
end
end
--
I know a mouse
And he hasn't got a house
I don't know why
I call him Gerald
He's getting rather old
But he's a good mouse
- Syd Barrett