絶対140文字〜未解決コード特命捜査〜
こっちは、上戸彩じゃなくて id:torazuka の Groovyたんだ!!
『絶対零度〜未解決事件特命捜査〜SP』が今夜放送されている。
#ghelloにも「オーバー・コード」と呼ばれる140文字を超えて
しまった未解決コードがある。
この未解決コード検証し直すための特設エントリーとして、
この「絶対140文字〜未解決コード特命捜査〜」は設けられた。
バトンリレーで140文字以内のHello World的コードを書くという企画。
絶対140文字
1tweet 140文字以内にひねりを加えたコードを書くのはつらい。
(みなさんGroovyistとしての意地とプライドをかけてる?)
ただでさえ、制限がキツイのに、プログラミングGROOVY の発売日にはお祭りでバトンなしで誰でも参加OKになった。
エントリーが増えたことにより、より敷居が高くなった。
この世には、「未解決」という名の地獄がある。
#ghelloにチャレンジした名うてのGroovyistを持ってしても、解決できなかったコードがある。
ただ、そのまま埋もれさせておくのはもったいない。
Twitterの#ghelloでは、140文字以内に収まったもの、できなかったものはブログ等で公開してはどうだろうか?
埋もれさせておくのはもったいない。
Javaの豊富なライブラリを使って解決できるかも知れない。
だれかのアイディアで140文字以内にできるかもしれない。
@uehaj
print new org.objectweb.asm.ClassReader(com.sun.org.apache.xerces.internal.impl.Version.getResourceAsStream("XMLEntityManager.class")).readConst(333,new char[20]) // asmでJDKバージョン依存を多少回避したがはいりきらん #ghello
22オーバー
@kimukou_26
@GrabResolver(name='msgpack',root='http://msgpack.org/maven2/') @Grab("org.msgpack:msgpack:0.5.1-devel") import org.msgpack.MessagePack import static org.msgpack.Templates.* src = 'Hello World' //pack raw = MessagePack.pack(src) println raw //unpack1 println MessagePack.unpack(raw, TString) //unpack2 def dynamic = MessagePack.unpack(raw) println dynamic.convert(TString)
unpack2分を含めない状態で166オーバー
//enc cipher = javax.crypto.Cipher.getInstance("Blowfish") cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, new javax.crypto.spec.SecretKeySpec('groovybook' as byte[], "Blowfish")) def encrypted =cipher.doFinal('Hello World' as byte[]) println encrypted //dec cipher = javax.crypto.Cipher.getInstance("Blowfish") cipher.init(javax.crypto.Cipher.DECRYPT_MODE, new javax.crypto.spec.SecretKeySpec('groovybook' as byte[], "Blowfish")) println new String(cipher.doFinal(encrypted))
346オーバー
@Grab('org.seleniumhq.webdriver:webdriver-htmlunit:0.9.7376') driver = new org.openqa.selenium.htmlunit.HtmlUnitDriver(); driver.get("http://goo.gl/ICVRP"); println driver.getTitle()
47オーバー
@nobusue
java.awt.SystemTray.getSystemTray().add(new java.awt.TrayIcon(image:java.awt.Toolkit.getDefaultToolkit().getImage(this.class.getResource('groovy/ui/ConsoleIcon.png')), tooltip:'Hello World!', imageAutoSize:true))
74オーバー
僕も
@Grapes([ @Grab(group = 'com.h2database', module = 'h2', version = '1.3.157'), @GrabConfig(systemClassLoader = true) ]) import groovy.sql.Sql;Sql.newInstance("jdbc:h2:mem:","org.h2.Driver").eachRow("SELECT * FROM CSVREAD('http://dl.dropbox.com/u/645223/ghello/%23ghello.csv')"){print it}
147オーバー 短縮URLを使えば多少は短くできるけどね。
解決方法
おぉ、企画者から、全てを解決する方法が出た。
これを使えばなんでも(?)できる。