2009-04-25T11:48:01+09:00 |
「Groovyイン・アクション」読書会IN関西の会場はこちらです。 |
2009-04-25T11:51:10+09:00 |
はじめまして。 |
2009-04-25T11:56:36+09:00 |
13時からはじめまーす。 |
2009-04-25T12:59:17+09:00 |
てすと |
2009-04-25T13:03:15+09:00 |
てすと |
2009-04-25T13:06:05+09:00 |
村山です! |
2009-04-25T13:06:13+09:00 |
自己紹介タイム |
2009-04-25T13:07:22+09:00 |
てすと |
2009-04-25T13:07:23+09:00 |
支部長!がんばって! |
2009-04-25T13:08:37+09:00 |
ゲンゾウさんのブログ |
2009-04-25T13:08:38+09:00 |
http://genzou-postit.blogspot.com/ |
2009-04-25T13:08:47+09:00 |
吉田です |
2009-04-25T13:16:10+09:00 |
Lingrのテスト |
2009-04-25T13:17:38+09:00 |
自己紹介終了。 |
2009-04-25T13:18:12+09:00 |
まずはchapter1.1(p.2〜p.9)を読んでみる。 |
2009-04-25T13:25:08+09:00 |
読んでるときは静かですw |
2009-04-25T13:30:30+09:00 |
PCがあるので、ついサンプルコードを試してしまいます |
2009-04-25T13:31:20+09:00 |
Groovy最新版(1.6.2)のダウンロードはこちらから |
2009-04-25T13:31:21+09:00 |
http://groovy.codehaus.org/Download |
2009-04-25T13:33:15+09:00 |
要チェック→http://twitter.com/mittie/status/1253169825 |
2009-04-25T13:34:39+09:00 |
買ったばっかりなのに・・・ |
2009-04-25T13:38:10+09:00 |
XmlSlurper:すらぱー? |
2009-04-25T13:41:31+09:00 |
XmlParser:http://groovy.codehaus.org/Reading+XML+using+Groovy%27s+XmlParser |
2009-04-25T13:41:47+09:00 |
XmlSlurper:http://groovy.codehaus.org/Reading+XML+using+Groovy%27s+XmlSlurper |
2009-04-25T13:41:50+09:00 |
似ているよ。 |
2009-04-25T13:43:29+09:00 |
ファーストクラスってなんだろう?漠然としててイメージがわかないな。 |
2009-04-25T13:43:40+09:00 |
p.9〜p.17まで読む。 |
2009-04-25T13:43:59+09:00 |
すらパーw |
2009-04-25T13:45:24+09:00 |
偉そうな感じですね。> ファーストクラス |
2009-04-25T13:46:32+09:00 |
Fileクラスには、再帰的にfindAllするようなメソッドや方法ははないのかな?eachFileRecurse内で判定しないとだめ? |
2009-04-25T13:52:18+09:00 |
Scripting for the JavaTM Platform→http://www.jcp.org/en/jsr/detail?id=223 |
2009-04-25T13:55:08+09:00 |
ぐるーびっしゅ。 |
2009-04-25T13:58:22+09:00 |
[groovysh]show variablesで変数と素の値が表示されるよ。変数名「_」は最後に評価された値が格納される変数か? |
2009-04-25T14:02:32+09:00 |
new File('.').metaClass.methods.join('\n')
でメソッド一覧を見れる。 |
2009-04-25T14:23:38+09:00 |
35分まで休憩! |
2009-04-25T14:35:28+09:00 |
p.22 |
2009-04-25T14:35:46+09:00 |
groovyc(ぐるーびーしー) |
2009-04-25T14:39:24+09:00 |
groovy実行時のエンコード指定は-cまたは--encoding |
2009-04-25T14:48:31+09:00 |
お、やってるやってる。 |
2009-04-25T14:49:25+09:00 |
こんにちは > kskyさん |
2009-04-25T14:52:29+09:00 |
どもー、盛況ですか?天気悪いけど。^^; |
2009-04-25T14:52:41+09:00 |
〜p.30 |
2009-04-25T14:56:40+09:00 |
#!/usr/bin/env groovy |
2009-04-25T14:57:02+09:00 |
雨のなか全員来てくれました! |
2009-04-25T14:57:09+09:00 |
P26 #!/usr/bin/groovy |
2009-04-25T14:57:12+09:00 |
chapter4までは私が訳したのでドキドキしますね... |
2009-04-25T14:57:14+09:00 |
で動かない場合の記述。 |
2009-04-25T14:57:25+09:00 |
杉浦さんは横浜から来てくれました!!! |
2009-04-25T14:57:39+09:00 |
すごい>杉浦さん |
2009-04-25T14:57:46+09:00 |
少なくとも僕は楽しんでますw |
2009-04-25T14:57:57+09:00 |
shebangを使ってこっそりgroovy |
2009-04-25T14:58:18+09:00 |
shebangって |
2009-04-25T14:58:48+09:00 |
/usr/bin/env使わないと動かなくない?(macだけ?) |
2009-04-25T14:58:52+09:00 |
スクリプトの1行目のコメントのことらしいです |
2009-04-25T14:59:23+09:00 |
#!/usr/local/groovy/bin/groovy |
2009-04-25T14:59:30+09:00 |
とか書いても動きませんよね |
2009-04-25T14:59:45+09:00 |
#!/usr/bin/env groovy で動きましたよ |
2009-04-25T14:59:45+09:00 |
#!/usr/bin/env groovy |
2009-04-25T14:59:50+09:00 |
なら動くけど |
2009-04-25T14:59:59+09:00 |
う、 |
2009-04-25T15:00:02+09:00 |
macですか? |
2009-04-25T15:00:14+09:00 |
あ、envか |
2009-04-25T15:00:37+09:00 |
いやenv使えば動くんですが。 |
2009-04-25T15:01:52+09:00 |
shebang(しぇばんぐ、しばんぐ) |
2009-04-25T15:02:31+09:00 |
P30 の中間のコードについて。 |
2009-04-25T15:02:33+09:00 |
assert ("test" + "hello").class == String.class |
2009-04-25T15:02:41+09:00 |
assert ("test" << "hello").class == StringBuffer.class |
2009-04-25T15:02:47+09:00 |
ってなるんだね。 |
2009-04-25T15:03:47+09:00 |
groovy -e "println 'hello' - ~/l+/" |
2009-04-25T15:04:53+09:00 |
roovy -e "println 'hellohello' - ~/l+/"
|
2009-04-25T15:10:45+09:00 |
〜p.40まで読む。 |
2009-04-25T15:29:41+09:00 |
assert [x:100, y:200].class == null
|
2009-04-25T15:29:53+09:00 |
assert "x".class == String.class |
2009-04-25T15:30:30+09:00 |
classプロパティではなく、classというキーで探しにいっちゃうから |
2009-04-25T15:30:58+09:00 |
assert [x:100, y:200].getClass() == LinkedHashMap.class |
2009-04-25T15:35:06+09:00 |
def a = ['a', 'b', 'c', 'a'] as Set |
2009-04-25T15:35:21+09:00 |
assert a == ['a', 'b', 'c'] |
2009-04-25T15:39:48+09:00 |
println (['b', 'c', 'a', 'a'].asType(LinkedHashSet.class)) |
2009-04-25T15:40:11+09:00 |
assert ['b', 'c', 'a', 'a'].asType(LinkedHashSet.class) == ['b', 'c', 'a'] |
2009-04-25T16:03:29+09:00 |
p.46まで読む |
2009-04-25T16:16:43+09:00 |
MetaClassがGroovyの神髄 |
2009-04-25T16:18:30+09:00 |
def cl = evaluate('cl = {println it*10}')
(1..10).each(cl) |
2009-04-25T16:21:19+09:00 |
def cl = evaluate('({println it*10})')
(1..10).each(cl) |
2009-04-25T16:21:32+09:00 |
こまったらカッコつける |
2009-04-25T16:28:00+09:00 |
p.65まで読む |
2009-04-25T16:56:23+09:00 |
println ([4,2,1].sort{ a, b -> a<=>b }) 使い方 |
2009-04-25T16:57:40+09:00 |
[1,2,3,4,5].sort {l, r ->
(l <=> r) * -1
}
|
2009-04-25T17:00:22+09:00 |
ソート処理をprintln してみる。 |
2009-04-25T17:00:23+09:00 |
println ([4,2,1,3].sort{ a, b ->
println "a = $a, b = $b"
a<=>b
}) |
2009-04-25T17:00:36+09:00 |
[結果] |
2009-04-25T17:00:37+09:00 |
a = 4, b = 2
a = 4, b = 1
a = 2, b = 1
a = 4, b = 3
a = 2, b = 3
[1, 2, 3, 4]
|
2009-04-25T17:01:10+09:00 |
ソートロジックが不明でした。誰か分かりますか? |
2009-04-25T17:04:29+09:00 |
list = [[age:2,name:'bb'], [age:2,name:'aa'], [age:0,name:'zz']]
println list.sort({a,b -> a.age <=> b.age ?: a.name <=> b.name}) |
2009-04-25T17:05:32+09:00 |
'->'は何てよむんでしょう? |
2009-04-25T17:07:08+09:00 |
結論)'->'は読まなくてもいい |
2009-04-25T17:24:25+09:00 |
p.77まで読む。 |
2009-04-25T17:34:53+09:00 |
p.69の教訓は重要。 |
2009-04-25T17:50:56+09:00 |
str = /c:¥Documents and Settings¥fujwara¥Documents/ |
2009-04-25T17:56:32+09:00 |
str = /c:¥Documents and Settings¥fujwara¥Documents/
println (str.replaceAll(/¥/, "/")) |
2009-04-25T17:56:51+09:00 |
str = /c:¥Documents and Settings¥fujwara¥Documents/ |
2009-04-25T17:57:00+09:00 |
str = /c:¥Documents and Settings¥fujwara¥Documents/
println str.replaceAll(/¥/, "/") |
2009-04-25T17:59:44+09:00 |
// linuxだと動く
def str = /c:¥Documents and Settings¥fujwara¥Documents/
println str.replaceAll("¥", "/") |
2009-04-25T18:01:38+09:00 |
正規表現の勉強終了。 |
2009-04-25T18:01:49+09:00 |
googleのトップページから、inputタグの一覧を取得。 |
2009-04-25T18:01:51+09:00 |
def html = new URL("http://google.com").td
(html =~ /(?ms)<input[^>]*?>/).each{
println it
} |
2009-04-25T18:04:21+09:00 |
今日はここまで。 |
2009-04-25T18:04:28+09:00 |
お疲れさまでした! |
2009-04-25T18:20:44+09:00 |
おっと遅かったorz |
2009-04-25T22:47:20+09:00 |
お疲れさまでした。 |
2009-04-25T22:47:36+09:00 |
誰もいませんが、今日はとても楽しかったです。 |
2009-04-25T22:47:47+09:00 |
少しだけ下がっていたモチベーションが上がった気がします。 |
2009-04-25T22:51:11+09:00 |
oです。お疲れ様でした。ブログの |
2009-04-25T22:51:50+09:00 |
http://genzou-postit.blogspot.com/ |
2009-04-25T22:51:51+09:00 |
お だです。お疲れ様でした。ブログのアドレス貼りますね~。 |
2009-04-25T22:52:00+09:00 |
http://d.hatena.ne.jp/odashinsuke/20090425/1240667284 |
2009-04-26T07:54:11+09:00 |
藤原です。昨日はおつかれさまでした。 |
2009-04-26T07:54:33+09:00 |
恥ずかしながら、私もブログのアドレスを・・・すっからかんですが |
2009-04-26T07:54:34+09:00 |
http://d.hatena.ne.jp/fujwara/ |
2009-04-26T07:55:01+09:00 |
はい、これから書きます |
2009-04-26T09:04:37+09:00 |
なんか懇親会楽しかったみたいですね。 |
2009-04-26T09:06:05+09:00 |
また第2回でw |
2009-04-26T09:09:23+09:00 |
あともうちょっと予習していく。。 |
2009-04-26T23:53:57+09:00 |
ブログまとめました。 |
2009-04-26T23:54:00+09:00 |
http://d.hatena.ne.jp/kiy0taka/20090426/1240757105 |
2009-04-26T23:54:26+09:00 |
軽く次回予告もしてますw |