Cocoa Programming for Mac OS X RubyKr 세미나 후기 & RubyCocoa Code Snippet 2
Sep 12

이번 RubyKr 세미나를 듣고, 자극(?)을 받아서
간단한 RubyCocoa 코드를 하나 작성해 보았습니다.

콘솔에서 아래의 코드를 실행하면,
현재 OSX 의 AddressBook에 있는 연락처에서 이름과
첫번째 전화번호를 모아서 출력해 줍니다.

아직 루비 초보라, 루비틱한 코드가 아닐 수도 있는데,
혹 루비스트분들 이거 보시면 좋은 조언 부탁드립니다 :)


#!/usr/bin/env ruby
require 'osx/cocoa'

OSX.require_framework "AddressBook"

ab = OSX::ABAddressBook.sharedAddressBook

ab.people.to_a.each do |_person|
  phone = _person.valueForProperty("Phone")
  if phone != nil
    phone_str = phone.labelAtIndex(0)
    phone_str = phone_str.to_s
    /[A-Z].*[a-z]/ =~ phone_str
    phone_str = Regexp.last_match(0), ": ", phone.valueAtIndex(0)
  else
    phone_str = "없음"
  end
  print _person.valueForProperty("Last"), " "
  print _person.valueForProperty("First"), " - "
  print phone_str, "\n"
end

Leave a Reply