me2day

우리는 마틴 파울러 교주의 악당 소굴 계획을 수행하고자 하나... 루비를 몰라서 지연되고 있다. 10.04.28 17:31

소프트웨어 관리자의 개선 우선순위 - 우리팀 강화 작업에 도움이 될 듯 by fupfin

미투 0

20 개의 댓글이 있습니다.

홍민희 홍민희

Scala가 Java에 비해 동적이긴 한데… Ruby의 class_eval 같은게 가능한가요? 혹은 Python의 메타클래스 같은거나. 네피림 님 답변좀!

10.04.28 17:40
네피림 네피림

앗, 홍민희 센빠이다... 긁적 안될겁니다. (파이썬 메타클래스는 방금 뒤져봤음) Scala는 타입에 대한 자바 스타일의 사전 정의가 있어야 합니다. 틀리면 지적 좀!

10.04.28 19:11
fupfin fupfin

Groovy는 class_eval, instalce_eval, meta class 같은 동적 요소가 있습니다. 루비나 파이선에 비해 얼마나 동적인지는 모르겠지만. 사실 java나 scala도 meta class가 있기는 하지만 그냥 리플렉션이 주 용도인 거죠. ^^

10.04.28 19:27
fupfin fupfin

홍민희 제가 잠깐 보기에 스칼라는 그리 동적이진 않고요. 그냥 표현력이 뛰어나고 몇가지 자바에서 API로 해결하던 걸 언어 수준으로 가지고 온 듯 합니다. 강력한 타입 추론으로 정적 언어의 번거로움을 많이 해소했고 말이죠.

10.04.28 19:30
네피림 네피림

fupfin 그루비에도 루비의 class_eval 같은게 있었나요? 어찌 하는 거지?... (그루비 문외한) 저는 홍민희 센빠이의 질문을 "메타클래스를 런타임에 만들수 있느냐"로 해석해서 답했습니다. 틀리면 먹을 것 사주면서 알려주시겠져 뭐~

10.04.28 19:56
네피림 네피림

fupfin 그런데 동적이냐는 질문은 항상 머리가 아파요. 문맥에 맞게 좁혀야 하는... 동적이라는 말의 일반적 정의가 있나요?

10.04.28 19:58
fupfin fupfin

네피림 : 제가 알기로 루비의 class_eval은 동적으로 인스턴스 메소드를 추가하고 iinstance_eval은 static method를 클래스에 추가하는 기능이고요. groovy에서는 이거이거 가 비슷한 놈 같습니다.

10.04.28 20:15
fupfin fupfin

네피림 동적이라면 runtime에 결정하는 걸 말하는 것 같고요. 자바에서는 리플렉션이나 바이트코드 조작 기술 정도가 동적 요소라고 할 수 있을 듯 합니다. 루비나 파이선 같은 경우는 런타임에 할 수 있는 일이 훨 많고요. 마구 클래스를 바꾸는 등의...

10.04.28 20:21
맹수 맹수

우와. 무언가 고수분들의 천하제일무도회를 보는 듯한.. +_+

10.04.28 20:31
맹수 맹수

groovy의 ExpandoMetaClass에 나오는 메소드 추가 같은 것은는 저번 세미나에 네피림님께서 가르쳐주신 implicit conversions으로 어느정도 가능하지 않을까요.(물론 컴파일 타임에서요.) (전 잘 모르지만. 한번만이라도 말을 섞..;;)

10.04.28 20:31
맹수 맹수

MetaClass도 사실 가장 많은 사용이 class-factory라고 짧게 생각하는데요. 이것도 companion objects + implicit conversions으로 어느정도 가능하지 않을까요? (물론 컴파일 타임에서요.) ;;

10.04.28 20:33
맹수 맹수

groovy는 근데 ruby처럼 methodMissing이 있군요. (심지어 이름도 비슷한것 같고.;;) 스칼라언니는 없을 듯 한데.(다이나믹 타입이 아니라서.아마도.)

10.04.28 20:36
네피림 네피림

fupfin 감사합니다. 보여주신 그루비의 그것들(!)은 Scala에서도 가능합니다. (접근은 다르지만요)

10.04.28 20:39
네피림 네피림

fupfin 말씀하신대로 루비, 파이썬과는 달리 결국 코드에 확장의 모양이 정해져 있죠. 외부에서 입력받은 문자열로 클래스를 만들 수 있을까?의 질문에 그루비가 어떻게 대답하는지가 궁금하네요. 아직은 class_eval과는 다른게 아닐까하는 생각이...

10.04.28 20:41
네피림 네피림

맹수 난 궁금해서 쭈뼈었! 거리는 거임

10.04.28 20:41
네피림 네피림

맹수 네, Scala도 그렇게는 한다의 핵심에 Implicit Conversion이 있어요. (천잰데...)

10.04.28 20:42
네피림 네피림

맹수 methodMissing! 우와... 스칼라 없어용 (역시 천재야)

10.04.28 20:48
네피림 네피림

fupfin 맹수 님 얘기 듣고 이제사 감잡았습니다. (약간은 애매한 동적 타입인거구나...)

10.04.28 20:52
맹수 맹수

그나저나 요즘 회장님의 버킹검은 스칼라이군요. ㅎㅎㅎ(시크개그라고 해야 하나요?ㅎㅎ) (월급이 짝아요. 결론은 스칼라~~)

10.04.28 21:11
네피림 네피림

그나저나 홍민희 센빠이는 우리끼리 머리 싸매게 만들고 어디서 놀고 있는 듯 한데... 담에 보면 왕창 얻어 먹을꺼야! 띠동갑이라도 용서없어

10.04.28 21:14