[MacRuby-devel] Framework callbacks in macirb

Brian Chapados chapbr at gmail.com
Mon Feb 9 09:56:54 PST 2009


It is well worth your time to learn the basics of C and Objective-C,
even if your ultimate goal is to mainly use MacRuby
(http://www.joelonsoftware.com/articles/LeakyAbstractions.html ect.).
They are small languages, and everything you need is covered in about
200 pages[1,2]. The cocoa libraries are vast, but powerful and the
documentation is decent. The Hillegass book[3] will bring you up to
speed on how to use the libraries and tools to build gui apps. Once
you understand some of the basic patterns and conventions that are
used, you'll have all of the available cocoa info at your disposal.

For Obj-C/Cocoa/Ruby, I recommend these references:

C/Obj-C/Cocoa
--------------------
[1] "The C Programming Language", Kernighan & Ritchie
[2] "Introduction to The Objective-C 2.0 Programming Language", Apple
(free online)
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html
[3] "Cocoa Programming for Mac OSX", Hillegass

Start with 3 and refer back to 1 & 2, when necessary.  Buy a copy of
Hillegass' book, then clone Dr. Nic's hillegass-macruby repo
(http://github.com/drnic/hillegass-macruby/tree/master). Work on
porting the examples from Objective-C to MacRuby.

You might also want to check out these recommendations:
http://programming.nu/objective-c

Ruby
-------
"Programming Ruby" (Pickaxe book) Thomas
"The Ruby Way", Fulton

For Ruby idioms, there is also an excellent SDRuby talk by Tom Werner
on Ruby Idioms:
http://podcast.sdruby.com/2007/1/16/episode-014-ruby-idioms-part-1

Slides from a 2003 talk by Hal Fulton - "Rubyesque API":
http://www.approximity.com/euruko03/slides/hal/rubyesque/slide1.html

On Sun, Feb 8, 2009 at 8:28 PM, Robert Schaaf <rwschaaf at comcast.net> wrote:
> Tedd,
>
> To quote Ogden Nash, I'm a stranger here myself.
>
> I agree about objective-c; it's notationally unattractive.  It seems to be
> an uncomfortable hybrid, despite the power of the object model.
>
> The only appreciable Ruby code I've written is a program that parses the
> header of a DB2 IXF file (a database dump) and loads it into Excel
> preserving data types.  It uses Appscript, so it's a no-go in MacRuby.  I'm
> now rewriting it to load the DB2 data into postgres.
>
> BTW, can anyone recommend a book on Ruby idioms, frinstance: change all 'x'
> in a string to 'y'?
>
> Bob Schaaf
>
>
> On Feb 8, 2009, at 5:28 PM, Tedd Fox wrote:
>
>> Awesome advice!!!  I actually "accidentally" did that last night :-)
>>  Thanks!  I am learning Ruby and I am a Macintosh NOT but do not "get"
>> objective-C for some reason, so I am choosing MacRuby as my Speciality.  I
>> am glad MacRuby came along :-)
>>
>> I like the faster prototyping ability (which is exactly what I need).
>>
>> Any other advice for a newb?  A real newb?
>>
>>
>> On Feb 8, 2009, at 4:22 PM, Robert Schaaf wrote:
>>
>>> Hello Tedd,
>>>
>>> This happened to me until I realized that I updated from the testing
>>> branch, rather than the development branch.  My guess is that you've done
>>> the same.
>>>
>>> You need to go here <http://www.macruby.org/trac/wiki/MacRubyDevelopment>
>>> and follow the directions at the top of the page.
>>>
>>> Then you need to wait for documentation, and more frameworks mapped.
>>>
>>> Then you need to wait for the ability to lay out your windows precisely,
>>> in a Cocoa-compliant way.  (The sliders in the Layout View app are an
>>> egregiously awful example!)
>>> Or learn to integrate it with Interface Builder.
>>>
>>> Also, MacRuby, which is wonderful beyond measure, will have to mature.
>>>  Without gems, life is not worth living.
>>>
>>> Bob Schaaf
>>>
>>>
>>> On Feb 8, 2009, at 7:05 AM, Tedd Fox wrote:
>>>
>>>> Sorry for the newb question, but how can one upgrade from .3?
>>>>
>>>>
>>>> On Feb 8, 2009, at 3:14 AM, Vincent Isambart wrote:
>>>>
>>>>>>
>>>>>> Macintosh:vincentisambart-hotconsole-cbdd6d06ece482e124516359cd9299294667daeb
>>>>>> barry$ macrake
>>>>>> (in
>>>>>> /Users/barry/dev/vincentisambart-hotconsole-cbdd6d06ece482e124516359cd9299294667daeb)
>>>>>> rake aborted!
>>>>>> no such file to load -- hotcocoa/standard_rake_tasks
>>>>>>
>>>>>> /Users/barry/dev/vincentisambart-hotconsole-cbdd6d06ece482e124516359cd9299294667daeb/rakefile:2:in
>>>>>> `require'
>>>>>> (See full trace by running task with --trace)
>>>>>
>>>>> This means you are using an old version of MacRuby, probably 0.3. You
>>>>> can check it by running macruby -v, or in macirb by displaying
>>>>> MACRUBY_VERSION and MACRUBY_REVISION.
>>>>> _______________________________________________
>>>>> MacRuby-devel mailing list
>>>>> MacRuby-devel at lists.macosforge.org
>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>>>
>>>> _______________________________________________
>>>> MacRuby-devel mailing list
>>>> MacRuby-devel at lists.macosforge.org
>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>>
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>


More information about the MacRuby-devel mailing list