[#300221] How about the execution efficiency in Ruby 1.9? — Erwin Moller <hi.steven.tu@...>

Has It been greatly improved?

12 messages 2008/05/01

[#300267] splitting with a regex & keeping a ref? — "Kyle Schmitt" <kyleaschmitt@...>

I'm writing some scripts to help handle some ornery samba servers we

13 messages 2008/05/01

[#300280] Please explain nuances of ||= — Ruby Freak <twscannell@...>

I am reading some of the ruby files in rails and I an seeing the ||=

28 messages 2008/05/01
[#300305] Re: Please explain nuances of ||= — Simon Krahnke <overlord@...> 2008/05/01

* David A. Black <dblack@rubypal.com> (18:56) schrieb:

[#300312] Re: Please explain nuances of ||= — "David A. Black" <dblack@...> 2008/05/01

Hi --

[#300317] Re: Please explain nuances of ||= — Phillip Gawlowski <cmdjackryan@...> 2008/05/01

-----BEGIN PGP SIGNED MESSAGE-----

[#300308] Is there some way to execute a block within an arbitrary lexical scope? — Ruby Talk <rubytalk@...>

Is there some way to execute a block within a certain lexical scope?

10 messages 2008/05/01

[#300384] Extracting a value from an array — Albert Schlef <albertschlef@...>

I have the following array:

18 messages 2008/05/02

[#300431] Reverse Divisible Numbers (#161) — Matthew Moss <matthew.moss@...>

This is a fairly simple quiz this week, as I'm in the middle of

35 messages 2008/05/02

[#300437] Ruby 1.9 wishlist — coderrr <coderrr.contact@...>

Hey I just put together a list of stuff I totally wish Ruby had and I

16 messages 2008/05/02

[#300545] Why there is not "replace" method for Fixnum? — Iñaki Baz Castillo <ibc@...>

Hi, using String#replace I can "simulate" a pointer (thanks to David A. for=

10 messages 2008/05/03

[#300569] Different Ways To Loop — Wyatt Greene <greenewm@...>

I love the flexibility of Ruby. It gives you several ways to do

19 messages 2008/05/04

[#300648] How would you design regexps in the integer domain? — Andreas Launila <ruby-talk@...>

I'm trying to come up with a clean way to specify regexps in the integer

13 messages 2008/05/05

[#300751] Ruby has to be interpreted line by line in runtime, does this affect Ruby's execution efficiency badly? — Erwin Moller <hi.steven.tu@...>

Why doesn't the inventor design a better approach to avoid this

8 messages 2008/05/06

[#300752] In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Erwin Moller <hi.steven.tu@...>

How about PHP? I think the same problem with PHP.

10 messages 2008/05/06
[#300755] Re: In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Phillip Gawlowski <cmdjackryan@...> 2008/05/06

-----BEGIN PGP SIGNED MESSAGE-----

[#300860] Re: In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Clifford Heath <no@...> 2008/05/07

Phillip Gawlowski wrote:

[#300862] Re: In order to cross platform, Ruby is designed to be interpreted in runtime, so Ruby code is exposed on the server. This brings a security danger which is not acceptable. — Phillip Gawlowski <cmdjackryan@...> 2008/05/07

-----BEGIN PGP SIGNED MESSAGE-----

[#300767] Reading from file, create a class with variables — Pelle Strul <aardtwig@...>

Hi, I'm trying to load a file with specifications like:

11 messages 2008/05/06

[#300834] Where to put code for extending a class? — Zoop Zoop <manuel.meurer@...>

I want to extend the String class with a capitalize_each_word method

31 messages 2008/05/06
[#300839] Re: Where to put code for extending a class? — "Robert Dober" <robert.dober@...> 2008/05/06

On Tue, May 6, 2008 at 10:47 PM, Zoop Zoop <manuel.meurer@gmail.com> wrote:

[#300859] Re: Where to put code for extending a class? — Zoop Zoop <manuel.meurer@...> 2008/05/07

Robert, could you explain a bit more what you mean?

[#300864] Re: Where to put code for extending a class? — Phillip Gawlowski <cmdjackryan@...> 2008/05/07

-----BEGIN PGP SIGNED MESSAGE-----

[#300893] Re: Where to put code for extending a class? — "David A. Black" <dblack@...> 2008/05/07

Hi --

[#300919] Word for monkeypatching — Brian Marick <marick@...> 2008/05/07

[#300835] get method in Array subclass: where's it defined? — RichardOnRails <RichardDummyMailbox58407@...>

Hi,

10 messages 2008/05/06

[#300900] Posting Culture — "Robert Klemme" <shortcutter@...>

All,

22 messages 2008/05/07

[#300951] Check if char in string? — globalrev <skanemupp@...>

how do i do this:

31 messages 2008/05/07

[#300967] hash adding values — Tim Wolak <tim.wolak@...>

I'm trying to insert account numbers into a hash and add the balances

18 messages 2008/05/07
[#300972] Re: hash adding values — Sebastian Hungerecker <sepp2k@...> 2008/05/07

Tim Wolak wrote:

[#300973] Re: hash adding values — Tim Wolak <tim.wolak@...> 2008/05/07

Sebastian Hungerecker wrote:

[#300975] Re: hash adding values — "Craig Demyanovich" <cdemyanovich@...> 2008/05/07

Oh, you want to store the balances based on the acct. #, then you want to

[#301029] "Real" Differences Between Python & Ruby — Max Cantor <maxcantor@...>

I have a question about the difference(s) between Python and Ruby. I

20 messages 2008/05/08
[#301197] Re: "Real" Differences Between Python & Ruby — globalrev <skanemupp@...> 2008/05/08

On 8 Maj, 04:09, Phlip <phlip2...@gmail.com> wrote:

[#301296] Re: "Real" Differences Between Python & Ruby — Marc Heiler <shevegen@...> 2008/05/09

I was about to comment on something but when i read this:

[#301305] Re: "Real" Differences Between Python & Ruby — "Max Cantor" <maxcantor@...> 2008/05/09

On Fri, May 9, 2008 at 12:23 PM, Marc Heiler <shevegen@linuxmail.org> wrote:

[#301101] Why can't I redefine "<<" method to allow two parameters? — "Iñaki Baz Castillo" <ibc@...>

SGksIHZlcnkgZXhydGFuZ2U6CgoKY2xhc3MgTXlBcnJheSA8IEFycmF5CiAgYWxpYXMgb3JpZ2lu

14 messages 2008/05/08

[#301129] Comparing String with Symbol — "Iñaki Baz Castillo" <ibc@...>

SGksIGxvc3RzIG9mIFJ1YnkgbWV0aG9kcyBhbGxvdyBTdHJpbmcgb3IgU3ltYm9sIGFzIHBhcmFt

16 messages 2008/05/08

[#301204] Doing an AND in regexp char class — "Todd Benson" <caduceass@...>

This question arises out of a couple of recent threads and may or may

18 messages 2008/05/08
[#301216] Re: Doing an AND in regexp char class — "ara.t.howard" <ara.t.howard@...> 2008/05/08

[#301219] Re: Doing an AND in regexp char class — "Todd Benson" <caduceass@...> 2008/05/08

On Thu, May 8, 2008 at 6:07 PM, ara.t.howard <ara.t.howard@gmail.com> wrote:

[#301278] Delete every other value in an array — Tim Conner <crofty_james@...>

What is the best way to delete every other value in a ruby array?

18 messages 2008/05/09

[#301293] The Turing Machine (#162) — Matthew Moss <matthew.moss@...>

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

29 messages 2008/05/09

[#301439] IO#putc writing 2 bytes? — Minic Minic <cg1161@...>

Hey all, thanks for reading. Today is my first attempt at getting some

12 messages 2008/05/11

[#301525] Convert integer to array? — Nadim Kobeissi <kaepora@...>

Let's say I have:

18 messages 2008/05/12

[#301528] Handling of arrays — Clement Ow <clement.ow@...>

A snippet of my code are as follows:

15 messages 2008/05/12
[#301542] Re: Handling of arrays — "Jes俍 Gabriel y Gal疣" <jgabrielygalan@...> 2008/05/12

On Mon, May 12, 2008 at 11:00 AM, Clement Ow

[#301602] Re: Handling of arrays — Clement Ow <clement.ow@...> 2008/05/13

Jes炭s Gabriel y Gal叩n wrote:

[#301611] Re: Handling of arrays — "Jes俍 Gabriel y Gal疣" <jgabrielygalan@...> 2008/05/13

On Tue, May 13, 2008 at 5:22 AM, Clement Ow

[#301719] Re: Handling of arrays — Clement Ow <clement.ow@...> 2008/05/14

Jes炭s Gabriel y Gal叩n wrote:

[#301623] How to convert character to hexadecimal? — "Iñaki Baz Castillo" <ibc@...>

SGksIEkgd2FudCB0byBjb252ZXJ0IHNvbWUgY2hhcmFjdGVyZXMgdG8gaGV4YWRlY2ltYWw6Cgog

21 messages 2008/05/13
[#301639] Re: How to convert character to hexadecimal? — Chris Hulan <chris.hulan@...> 2008/05/13

On May 13, 9:57 am, I=F1aki Baz Castillo <i...@aliax.net> wrote:

[#301842] 40 million levenshtein distances for two long strings — John <john.d.perkins@...>

I am trying to discover similar files to reduce redundancy on a large

12 messages 2008/05/15

[#301848] 7 Ruby Programming ebook — Laurynn <surejaya@...>

Found this on free ebook site.

44 messages 2008/05/15
[#302032] Re: 7 Ruby Programming ebook — Phillip Gawlowski <cmdjackryan@...> 2008/05/16

-----BEGIN PGP SIGNED MESSAGE-----

[#302612] Re: 7 Ruby Programming ebook — Camilo <camilor@...> 2008/05/22

Pablo

[#301898] What is the bes Ruby's book for beginners? — Renato Veneroso <rveneroso@...>

Hi everybody,

20 messages 2008/05/15

[#301937] Matz: can we have rescue/else/ensure available in all blocks? — coderrr <coderrr.contact@...>

Hi Matz,

12 messages 2008/05/15

[#301992] Obfuscated Email — "Matthew Moss" <matthew.moss@...>

_If you want to ignore the introduction and just get to the task, skip down

44 messages 2008/05/16

[#302028] Monkey Patching (definition)? — Christoph Schiessl <c.schiessl@...>

For example. Look the following piece of simple Ruby Code:

12 messages 2008/05/16

[#302034] Not quite getting it. — Roger Alsing <roger.alsing@...>

Hi,

27 messages 2008/05/16
[#302079] Re: Not quite getting it. — "ara.t.howard" <ara.t.howard@...> 2008/05/16

[#302092] Re: Not quite getting it. — Florian Gilcher <flo@...> 2008/05/17

-----BEGIN PGP SIGNED MESSAGE-----

[#302109] Re: Not quite getting it. — Roger Alsing <roger.alsing@...> 2008/05/17

> class Test

[#302064] ruby 1.9 hates you and me and the encodings we rode in on so just get used to it. — DJ Jazzy Linefeed <john.d.perkins@...>

def prep_file(path)

29 messages 2008/05/16
[#353767] Re: ruby 1.9 hates you and me and the encodings we rode in on so just get used to it. — Brian Candler <b.candler@...> 2009/12/27

DJ Jazzy Linefeed wrote:

[#353868] Re: ruby 1.9 hates you and me and the encodings we rode in on so just get used to it. — Bill Kelly <billk@...> 2009/12/29

Brian Candler wrote:

[#302093] Object#select and method_missing — Bob Aman <bob@...>

class SelectTest

14 messages 2008/05/17

[#302112] Dude? — "Robert Dober" <robert.dober@...>

Dear native speakers

39 messages 2008/05/17

[#302348] Why doesn't Float() work the same as Integer()? — "Michael W. Ryder" <_mwryder@...>

In my continuing work learning Ruby while creating a Rational class I

26 messages 2008/05/19
[#302373] Re: Why doesn't Float() work the same as Integer()? — "Eric I." <rubytraining@...> 2008/05/20

On May 19, 7:44=A0pm, "Michael W. Ryder" <_mwry...@worldnet.att.net>

[#302500] Re: Why doesn't Float() work the same as Integer()? — Yukihiro Matsumoto <matz@...> 2008/05/21

Hi,

[#302412] Is Necessary for all rails employee know computer knowledge? — Michel Thapa <abcotech@...>

Hi all Is Necessary for all rails employee know computer knowledge?

15 messages 2008/05/20
[#302414] Re: Is Necessary for all rails employee know computer knowledge? — pjb@... (Pascal J. Bourguignon) 2008/05/20

Michel Thapa <abcotech@gmail.com> writes:

[#302431] Re: Is Necessary for all rails employee know computer knowledge? — Eleanor McHugh <eleanor@...> 2008/05/20

On 20 May 2008, at 13:15, Pascal J. Bourguignon wrote:

[#302477] Is there any good source for the logic behind some of the methods? — "Michael W. Ryder" <_mwryder@...>

I am trying to figure out why methods that seem to do the same thing

11 messages 2008/05/21

[#302489] Ensuring only one instance of a script is running — Daniel Berger <djberg96@...>

Hi all,

14 messages 2008/05/21

[#302565] Prevent ruby constant variables from changing? — George Wang <stdcells@...>

Hi,

36 messages 2008/05/22
[#302599] Re: Prevent ruby constant variables from changing? — Dave Bass <davebass@...> 2008/05/22

George Wang wrote:

[#302601] Re: Prevent ruby constant variables from changing? — Florian Gilcher <flo@...> 2008/05/22

-----BEGIN PGP SIGNED MESSAGE-----

[#302583] Re: Prevent ruby constant variables from changing? — Peña, Botp <botp@...> 2008/05/22

RnJvbTogR2VvcmdlIFdhbmcgW21haWx0bzpzdGRjZWxsc0B5YWhvby5jb21dIA0KIyBJcyB0aGVy

[#302604] Is rdoc (http://www.ruby-doc.org/core/) complete? — "Victor Reyes" <victor.reyes@...>

Hello Team,

10 messages 2008/05/22

[#302632] OOP in Ruby? — aidy <aidy.lewis@...>

Hi,

39 messages 2008/05/22
[#303006] Re: OOP in Ruby? — aidy <aidy.lewis@...> 2008/05/27

On May 26, 3:59 pm, luka luka <dezer...@posta.ge> wrote:

[#303023] Re: OOP in Ruby? — Huw Collingbourne <huw@...> 2008/05/27

aidy wrote:

[#303027] Re: OOP in Ruby? — "Robert Dober" <robert.dober@...> 2008/05/27

On Tue, May 27, 2008 at 2:20 PM, Huw Collingbourne <huw@darkneon.com> wrote:

[#302769] #plural? or #singular? — Mark Dodwell <seo@...>

Does anybody know an easy way to test if a word is singular or plural --

21 messages 2008/05/23
[#302807] Re: #plural? or #singular? — Dave Bass <davebass@...> 2008/05/24

There are lots of difficulties here.

[#302809] Re: #plural? or #singular? — "Robert Dober" <robert.dober@...> 2008/05/24

On Sat, May 24, 2008 at 5:08 PM, Dave Bass <davebass@musician.org> wrote:

[#302812] Re: #plural? or #singular? — "Axel Etzold" <AEtzold@...> 2008/05/24

[#302876] A simple newbie question (arrays and strings) — koichirose <koi@...>

Today I started programming in ruby.

13 messages 2008/05/25

[#302894] briefest method of generating a list of random numbers? — Boris Schmid <boris@...>

Hi all,

11 messages 2008/05/26

[#302911] Why "ABCDE"[0] returns an integer instead of 'A' ? — "Iñaki Baz Castillo" <ibc@...>

SGksIEkgY2Fubm90IHVuZGVyc3RhbmQgaG93IGEgaGlnaCBsZXZlbCBsYW5ndWFnZSBhcyBSdWJ5

12 messages 2008/05/26

[#303002] documentation for ruby? — notnorwegian@...

i think the documentation at http://www.ruby-doc.org/ is fairly

63 messages 2008/05/27
[#303021] Re: documentation for ruby? — Ron Fox <fox@...> 2008/05/27

What sort of documentation are you looking for reference? tutorial?

[#303028] Re: documentation for ruby? — "James Bracy" <waratuman86@...> 2008/05/27

I find ruby-doc to be great. But if you are looking for a tutorial, it

[#303032] Re: documentation for ruby? — "Robert Dober" <robert.dober@...> 2008/05/27

On Tue, May 27, 2008 at 2:58 PM, James Bracy <waratuman86@gmail.com> wrote:

[#303034] Re: documentation for ruby? — Mark Wilden <mark@...> 2008/05/27

On May 27, 2008, at 7:03 AM, Robert Dober wrote:

[#303037] Re: documentation for ruby? — "Victor Reyes" <victor.reyes@...> 2008/05/27

What's top or bottom posting anyway?

[#303039] Re: documentation for ruby? — "Todd Benson" <caduceass@...> 2008/05/27

This is top posting.

[#303046] Re: documentation for ruby? — Mark Wilden <mark@...> 2008/05/27

On May 27, 2008, at 7:39 AM, Todd Benson wrote:

[#303064] Re: documentation for ruby? — "Todd Benson" <caduceass@...> 2008/05/27

On Tue, May 27, 2008 at 9:53 AM, Mark Wilden <mark@mwilden.com> wrote:

[#303066] Re: documentation for ruby? — Phillip Gawlowski <cmdjackryan@...> 2008/05/27

-----BEGIN PGP SIGNED MESSAGE-----

[#303075] Re: Top-posting — Mark Wilden <mark@...> 2008/05/27

[#303077] Re: Top-posting — "Avdi Grimm" <avdi@...> 2008/05/27

My personal opinion:

[#303014] Directionality of comparasion operators — Tobias Weber <towb@...>

Hi,

11 messages 2008/05/27

[#303150] The duck's backside — Tobias Weber <towb@...>

Hi,

75 messages 2008/05/28
[#303179] Re: The duck's backside — Tobias Weber <towb@...> 2008/05/28

In article

[#303202] Re: The duck's backside — Eleanor McHugh <eleanor@...> 2008/05/28

[#303215] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/28

[#303224] Re: The duck's backside — Eleanor McHugh <eleanor@...> 2008/05/28

On 28 May 2008, at 18:57, Mark Wilden wrote:

[#303236] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 11:45 AM, Eleanor McHugh wrote:

[#303240] Re: The duck's backside — David Masover <ninja@...> 2008/05/28

On Wednesday 28 May 2008 15:09:23 Mark Wilden wrote:

[#303255] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 1:44 PM, David Masover wrote:

[#303289] Re: The duck's backside — "Avdi Grimm" <avdi@...> 2008/05/29

On Wed, May 28, 2008 at 6:23 PM, Mark Wilden <mark@mwilden.com> wrote:

[#303296] Re: The duck's backside — Mark Wilden <mark@...> 2008/05/29

On May 28, 2008, at 8:59 PM, Avdi Grimm wrote:

[#303322] Re: The duck's backside — "David A. Black" <dblack@...> 2008/05/29

Hi --

[#303315] Re: The duck's backside — David Masover <ninja@...> 2008/05/29

On Thursday 29 May 2008 00:59:42 Mark Wilden wrote:

[#303170] Should I Learn Ruby as a First Language? — MRH <mauriceroman@...>

Hello Group,

64 messages 2008/05/28
[#303176] Re: Should I Learn Ruby as a First Language? — Tobias Weber <towb@...> 2008/05/28

In article

[#303183] Re: Should I Learn Ruby as a First Language? — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 6:01 AM, Tobias Weber wrote:

[#303222] Re: Should I Learn Ruby as a First Language? — "Kyle Schmitt" <kyleaschmitt@...> 2008/05/28

Since nobody's posted it...

[#303234] Re: Should I Learn Ruby as a First Language? — Mark Wilden <mark@...> 2008/05/28

On May 28, 2008, at 11:36 AM, Kyle Schmitt wrote:

[#303174] Merge collections of objects — John Butler <johnnybutler7@...>

Hi,

12 messages 2008/05/28

[#303253] DRb Problems with Mac OS X 10.5.3 — Kurt Schrader <kschrader@...>

It looks like the Mac OS X 10.5.3 upgrade breaks DRb when it's trying to

22 messages 2008/05/28
[#303265] Re: DRb Problems with Mac OS X 10.5.3 — Eric Ly <eric@...> 2008/05/28

I'm running into the same problem too having just upgraded. Is there a

[#303268] Re: DRb Problems with Mac OS X 10.5.3 — Kurt Schrader <kschrader@...> 2008/05/29

No solution yet, but it looks like something has changed in some

[#303293] Re: DRb Problems with Mac OS X 10.5.3 — Andy Keep <akeep@...> 2008/05/29

I've not done too much Ruby socket programming, but it seems to be that

[#303297] Re: DRb Problems with Mac OS X 10.5.3 — "Laurent Sansonetti" <laurent.sansonetti@...> 2008/05/29

Thanks for the report, we are of course very sorry about that. Ruby

[#303362] Surprising Extend — "Leslie Viljoen" <leslieviljoen@...>

Hi people

13 messages 2008/05/29

[#303398] Gems not working — Jim Hoskins <jimh@...>

I am currently not able to install any gems. I was using Gem 1.1.1 but

17 messages 2008/05/29

[#303434] How do i replace actual value in the query with variables? — Ting Chang <aumart@...>

I try to set up a loop to put the data in the array into the oracle

11 messages 2008/05/29

[#303519] getting standard error and output from ruby script in real time — Stefano Crocco <stefano.crocco@...>

I'm trying to write an editor for ruby in ruby using the KDE4 bindings for

10 messages 2008/05/30

[#303571] splitting help needed — Zoe Phoenix <dark_sgtphoenix@...>

I have a program that someone on this forum helped me fix before that

19 messages 2008/05/30
[#303573] Re: splitting help needed — Siep Korteling <s.korteling@...> 2008/05/30

Zoe Phoenix wrote:

[#303576] Price Ranges (#164) — "Matthew Moss" <matthew.moss@...>

Apologies for the late quiz... been rather busy today. Here's another simple

16 messages 2008/05/31

[QUIZ] The Turing Machine (#162)

From: Matthew Moss <matthew.moss@...>
Date: 2008-05-09 15:48:40 UTC
List: ruby-talk #301293
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

The three rules of Ruby Quiz 2:

1.  Please do not post any solutions or spoiler discussion for this
quiz until 48 hours have passed from the time on this message.

2.  Support Ruby Quiz 2 by submitting ideas as often as you can! (A
permanent, new website is in the works for Ruby Quiz 2. Until then,
please visit the temporary website at

     <http://matthew.moss.googlepages.com/home>.

3.  Enjoy!

Suggestion:  A [QUIZ] in the subject of emails about the problem
helps everyone on Ruby Talk follow the discussion.  Please reply to
the original quiz message, if you can.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

## The Turing Machine

_Quiz description by James Edward Gray II_

The Turing Machine is a simple computing architecture dating all the
way back to the 1930s.  While extremely primitive compared to any
modern machine, there has been a lot of research showing that a Turing
Machine is capable of just about anything the fancier machines can do
(although much less efficiently, of course).

This week's task is to build a Turing Machine, so we can play around
with the architecture.

A Turing Machine has but three simple parts:

    * A single state register.
    * An infinite tape of memory cells that can hold one character
each, with a
      read/write head that points to one of these cells at any given
time.  The
      tape is filled with an infinite run of blank characters in
either
      direction.
    * A finite set of program instructions.  The program is just a big
table of
      state transitions.  The Turing Machine will look up an
instruction based
      the current value of the state register and the current
character under
      head of the tape.  That instruction will provide a state for
the
      register, a character to place in the current memory cell, and
an order to
      move the head to the left or the right.

To keep our Turning Machine simple, let's say that our state register
can contain words matching the regular expression `/\w+/` and the tape
only contains characters that match the expression `/\w/`.  We will
call our blank tape cell character the underscore.

Program lines will be of the form:

    CurrentState _ NewState C R

The above translates to:  if the current state is CurrentState and the
character under the tape head is our blank character, set the state to
NewState, replace the blank character with a C, and move the tape head
to the right one position.  All five elements will be present in each
line and separated by one or more whitespace characters.  Allow for
trailing comments (using #) on a line, comment only lines, and blank
lines in the program by ignoring all three.

The initial state of your Turing machine should be set to the
CurrentState mentioned on the first line of the program.  Optionally,
the initial contents of the tape can be provided when the program is
load, but it will default to an all blank tape.  The program runs
until it fails to find an instruction for the CurrentState and the
character currently under the tape head, at which point it prints the
current contents of the tape head from the first non-blank character
to the last non-blank character and exits.

Here's a sample run of a simple program through my Turing Machine so
you can see how this plays out:

    $ cat palindrome.tm
    # Report whether a string of 0 and 1 (ie. a binary
    # number) is a palindrome.
    look_first   0  go_end_0     _  R
    look_first   1  go_end_1     _  R
    look_first   _  write_es     Y  R
    go_end_0     0  go_end_0     0  R
    go_end_0     1  go_end_0     1  R
    go_end_0     _  check_end_0  _  L
    go_end_1     0  go_end_1     0  R
    go_end_1     1  go_end_1     1  R
    go_end_1     _  check_end_1  _  L
    check_end_0  0  ok_rewind    _  L
    check_end_0  1  fail_rewind  _  L
    check_end_0  _  ok_rewind    _  L
    check_end_1  0  fail_rewind  _  L
    check_end_1  1  ok_rewind    _  L
    check_end_1  _  ok_rewind    _  L
    ok_rewind    0  ok_rewind    0  L
    ok_rewind    1  ok_rewind    1  L
    ok_rewind    _  look_first   _  R
    fail_rewind  0  fail_rewind  _  L
    fail_rewind  1  fail_rewind  _  L
    fail_rewind  _  write_o      N  R
    write_es     _  write_s      e  R
    write_o      _  done         o  R
    write_s      _  done         s  R

    $ ruby tm.rb palindrome.tm 011010110
    Yes

    $ ruby tm.rb palindrome.tm 01101
    No


In This Thread

Prev Next