From: "JeremyWoertink@..." Date: 2007-10-12T04:04:04+09:00 Subject: Re: I need some help plz with my ruby project. well, to start I noticed a few syntax errors, yield is misspelled, and in the line s1.each_grade.collect { |course| do course[2] } I don't know what you were trying to do with 'do course[2]' maybe yield course[2] and your get_grade method has c[Grade] but I don't know what Grade is, so maybe it should be def get_grade(code, Grade) (c=@courses[code]) && c[Grade] end maybe that might help a little ~Jeremy On Oct 11, 11:10 am, wiz_penda...@yahoo.com wrote: > First, i need to extend the student class, and its to be enumerable by > courses. Then, show off the new functionality supported by this > change by writing an expression that returns a list of all of the > grades a student has earned in the courses he or she has completed for > the major. > > here is what I got so far...what am i missing > ----------------------------------------------------------------------------------------------------------------- > irb > > # This class initializes a new student with ID, > # and shows a list of completed courses, > # and also shows a list of grades from completed courses. > class Student > > include Enumerable > > attr_reader :name, :id > > # Initializing the students name and ID. > # Name = Student's name. > # ID = Student's ID. > # Initializing courses to equal a new hash. > def initialize(name, id) > @name = name > @id = id > @courses = {} > end > > # Adding a course to the set of those completed. > def add_course(code, name, grade) > @courses[code] = [code, name, grade] > end > > # Retrieving the grade for a particular course. > def get_grade(code) > (c=@courses[code]) && c[Grade] > end > > # Changing the grade for a course completed. > def set_grade(code, grade) > @courses[code][Grade] = grade > end > > # Providing a list of all of the courses completed. > def list_courses > @courses.values > end > > def each_grade > @courses.each { |course| yeild course } > end > end > > s1 = Student.new("Eric", "00101") > s1.add_course("22c:021", "Computer Science I", "B-") > s1.each_grade.collect { |course| do course[2] } > puts s1 > ------------------------------------------------------------------------------------------------------------ > if you help meh out soon it would be great...thanks and later......