Python 코딩중 golfing.
>>> s = """a b\\tcd ... e ... """ >>> ''.join(s.split()) # 난 이 문법이 정말 싫다. 'abcde' >>> str.join('', s.split()) # 이게 더 낫다 'abcde'
split과 join이 whitespace를 제거한다는 것은 비직관적. regular expression을 쓴다고 하더라도 import re 하는 순간 golfing과는 멀어진다.
Ruby라면 이렇게 할 수 있다.
irb(main):001:0> s = "a b\t irb(main):002:0" c irb(main):003:0" " => "a b\t\nc\n" irb(main):012:0> s.gsub(/\s/, '') # 공백을 제거하거나 => "abc" irb(main):003:0> s.scan(/\w+/).join # 공백이 아닌 문자를 합한다 => "abc"
언어에 정규식이 더 잘 녹아들어가고 1 liner가 멋지게 가능한 언어가 바로 루비인 듯. 이런점에서는 Perl의 전통을 잘 계승한 듯 싶다.