From: Peter Bailey Date: 2006-08-11T20:58:03+09:00 Subject: Re: using YAML? >>> Well, YAML is a serialisation format so it is really not >>> something you would use as runtime data storage. An Array >>> or a Hash would certainly work. >>> >>> If I misunderstood you and you were looking for a file format, >>> then YAML would work great. When you YAML.load the file, you >>> will get your Array/Hash and you can also YAML.dump data into >>> the file. The file format would look like this: >>> >>> --- >>> - >>> - acmcp7p >>> - AACM00 >>> - Affirmative # ... >>> - >>> - >>> # ... >>> >>> Or this: >>> >>> --- >>> - >>> prefix: acmcp7p >>> code: AACM00 >>> title: Affirmative #... >>> - >>> prefix: # ... >>> # ... >>> >>>> Thanks a lot, >>>> Peter >> >> >> Thanks, Eero. >> No, I wasn't looking for a file format. I just need to make an >> association between the items in the first column with their >> corresponding entry in the second column. I guess a hash makes more >> sense. I'd just read a bit about YAML, and, I was intrigued with the >> fact that it's simply text based and I could "parse" to it in some way. >> At least, that's how I understand it. >> >> I've got filenames coming into a directory. I need to look at the first >> 7 characters of those filenames and determine what the "charge" code is >> for the publication that's publishing that file. This is all for our >> company accounting system. > > Right, OK. Then you want a Hash of file_prefix => service_code > mappings, let us say: > > maps = {"aacmc7p" => "AACM00", "acmp059p" => "BACM00", ...} > first_seven = read_first_seven_from filename > puts maps[first_seven] > > That will, for a file starting with 'aacmc7p', produce 'AACM00'. > > Regarding YAML, it is a serialisation format. If it helps, you > may consider it in some respects a replacement of XML and it > would be used for similar purposes. In your case, you would use > it to store the mappings (instead of using the spreadsheet you > would use YAML) and then load them into a runtime data structure > such as an Array or a Hash. The data format for it would look as > I posted above and the automated parsing of it (YAML.load/YAML.dump) > would produce the Array/Hash data structures notated in the second post. > > See http://yaml4r.sourceforge.net > >> Thanks again. Yes, I've been reading up more on hashes in my "pickax" book. I was intrigued with YAML because I thought that it would enable me to populate a simple table with simple text that could easily be updated when needed. And, because I'm talking about 174 entries here, it just seemed more graceful than a hash or an array inside a script. I thought that I could access a separate YAML table file within my script that would be accessed in the same way I'd access a hash, through an association of one entry with another entry in the same "row." But, your suggestions are perfect. I'm going to do the hash. Thank you very much for your help, Eero. -- Posted via http://www.ruby-forum.com/.