제목 대문자화

26 views
Skip to first unread message

June Kim (김창준)

unread,
Jan 27, 2015, 2:51:46 AM1/27/15
to J언어 한국
오랜만에 글이 올라온 기념으로 오늘 J로 했던 코딩 공유합니다.

제가 영어로 된 용어집을 타이핑해야 할 일이 있었습니다. 용어들은 모두 영어인데, 한 용어가 여러개의 단어로 구성된 경우가 있고, 각 단어의 시작은 대문자 나머지는 소문자이고 개중에는 모두 대문자인 것들이 섞여 있습니다. 예를 들면

The Machine
Super-sensitive Handling
The Mechanical Drums
OPRSTs
The Head of the Office

이런 식으로 백 몇십개의 용어 목록을 타이핑하는데 대문자 소문자가 섞여 있으니 타이핑이 귀찮더군요. 그래서 속도를 내기 위해 모두 소문자로 입력하고 약자인 것들만 대문자로 그대로 입력했습니다. 그러고 나서 이걸 대문자화 하는 프로그램을 짜면 되겠다 생각을 했죠.

즉, 제가 입력한 텍스트는 다음과 같습니다.

the machine
super-sensitive handling
the mechanical drums
OPRSTs
the head of the office

이걸 위의 원래 형태로 바꿔주는 코드를 J로 작성을 했습니다. 최종 결과는 엑셀에 ctrl-V했습니다.

t=: wd 'copypaste'                              NB. J803 기준 클립보드에서 가져오기
upf=: upper@{. , }.                             NB. upper first character
STOPWORD=: ;:'of a an the with in'
selupf=: upf`]@.(e.&STOPWORD@<) NB. selective upf
upword=: ' ' joinstring [: selupf&.> cutopen
lines=: LF joinstring upword each t
wd 'clipcopy *',lines                           NB. 클립보드로 복사

간단한 코드라서 J를 공부하시는 분들에게 도움이 될 수 있지 않을까 싶어서 공유합니다.

June Kim (김창준)

unread,
Jan 27, 2015, 2:53:37 AM1/27/15
to J언어 한국
아 첫라인 오타.

t=. wd 'clippaste' 입니다. ^^;

June Kim (김창준)

unread,
Jan 27, 2015, 2:55:13 AM1/27/15
to J언어 한국
upper도 제가 만든 정의였는데, toupper라는 표준 라이브러리 동사를 사용하는 걸로 고쳤습니다. ^^;


t=: wd 'clippaste'                                  NB. J803 기준 클립보드에서 가져오기
upf=: toupper@{. , }.                             NB. upper first character
STOPWORD=: ;:'of a an the with in'
selupf=: upf`]@.(e.&STOPWORD@<) NB. selective upf
upword=: ' ' joinstring [: selupf&.> cutopen
lines=: LF joinstring upword each t
wd 'clipcopy *',lines                           NB. 클립보드로 복사

yeonseung.kim

unread,
Jan 27, 2015, 5:22:45 AM1/27/15
to jay...@googlegroups.com

한가지 팁이라면 팁이,


어느 문서에서 본 곳인지는 모르겠습니다만 j7에 있던 clipread, clipwrite가 j8로 업그레이드되면서 locale을  가지게 되었습니다. 


j8을 사용하시는 분은 아래와 같은 설정을 startup.ijs에 추가하면, 

wd 'clipcopy *' , line 대신, wdclipread '' 을 사용할 수 있습니다.


wdclipread=: clipread_jqtide_

wdclipwrite=: clipwrite_jqtide_


아무래도 오래쓰던 이름이라 저는 이것이 더 익숙하네요.




Sent from my iPad
--
이 메일은 Google 그룹스 'jaylang' 그룹에 가입한 분들에게 전송되는 메시지입니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 jaylang+u...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 jay...@googlegroups.com에 이메일을 보내세요.
http://groups.google.com/group/jaylang에서 이 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/d/optout을(를) 방문하세요.
Reply all
Reply to author
Forward
0 new messages