2012年5月5日
#
PuppyLinuxで遊んでみた
手持ちマシンは本当に非力、低スペックなのでどうしたものかと思ってたのだけれど、もしかしたら、と思って軽いOSを載せてみることにした。
スペック
- VersaPro VY10A/C-3
- Centrio Duo
- メモリ 1G
- HDD 80G
のっけたOS
追加したソフトウェア
- Google Chrome
- Libre Office
- NetBeans
- Skype
パピーリナックスは軽い、さくさく反応します。ブラウザにこだわらず、開発環境とLibraOfficeをいれる必要がないなら、そのままでほとんどのツールが揃ってますし、なんて便利なんだろう。
2012年5月2日
#
というのに、なぜかハマったgroovyのお話。
問題のテストコード
package katagiri.study.each
class DeffarentEaches {
??static main(args) { ?? ????def?testCount = 9 ???? ????println "まるかっこ" ????(0 .. testCount).each{ ??????println it ????} ???? ????println "角かっこ" ????[0 .. testCount].each{ ??????println it ????} ???? ??}
} |
その結果
まるかっこ 0 1 2 3 4 5 6 7 8 9 角かっこ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
うん。構成されるオブジェクトを考えればすぐに気づけたのにね。
( n .. N) は、n から N までの数値の範囲だから、インデックス連番
[n .. N] は、 n から N までの数値のリスト
むかし、こんなプログラムを書いた。
GenericList(of Class) から一定条件の要素を取り除く
いま、もういちど、groovyで書いてみる。出演者は……増えたw。
まず、にゃんこクラス
package katagiri.nyanz
class Nyan { def name; def voice; def race;
} |
つぎに、にゃんこリストから、「ほげ~」と鳴くと除外するコードw
package katagiri.nyanz
class NyanzMain {
static main ( args ) { def nyans = [ new Nyan ( name: 'しゅうたん' , voice: 'にゃあ ', race: 'アメショ') , new Nyan ( name: 'ろり', voice: 'にゃあ' , race: 'アメショ') , new Nyan ( name: 'みずきちゃん' , voice: 'にゃあ' , race: 'スコティ' ) , new Nyan ( name: 'マグさん' , voice: 'ほげ~' , race: '名状しがたいオジさんのようなもの' ) , new Nyan ( name: 'ミーちゃま' , voice: 'にゃん' , race: 'Mix' ) , new Nyan ( name: 'はーくん' , voice: 'にゃん' , race: 'Mix' ) ] nyans.findAll { it.voice != 'ほげ~' }. each { println "${it.name}は${it.race}、「${it.voice}」" } }
} |
実行結果。
しゅうたんはアメショ、「にゃあ」 ろりはアメショ、「にゃあ」 みずきちゃんはスコティ、「にゃあ」 ミーちゃまはMix、「にゃん」 はーくんはMix、「にゃん」
|
当時は、groovyを知らなくて、こういうことができるなんて、知らなかったよ。というわけで、記録。
2012年5月1日
#
ということが必要になった。
ま、今回は、カンマ区切りの文字列""となっているものがいたら省く、という条件だけど。
def lines = result.split(,).findAll{it != ''}
と書いて、
def lines = result.split(/(,*)/)
と書いても同じだとふと思ったw
正規表現って知り始めるとどんどん使いたくなるよね。
2012年4月25日
#
うん、使いたかったの。
def data1 = ["abc",2] as Object[]
def data2 = ["efgh",4] as Object[]
def data = [data1 , data2 ]
って、べたべたやん。
def data = [["abc", 2], ["efgh", 4]]
でも、とすると、すっきりした。