もっさり日記

だらだらと。

プログラミング GROOVYのお勉強その2

今日は娘の学習机が届いたので組み立て作業
仕事も残業だったので全てが終わったのが24時過ぎという・・・(´・ω・`)
眠気に負けてちょっとだけしか出来なかった。

今日の学習範囲:20〜55ページ

環境設定

  • 昨日やったので軽く流し読みでした。
    • ちなみにIDENetBeansです、なんか好き。

付属コマンド

groovyConsole

  • シンプルで便利ですよね、機能を使いきれてないですけど(´・ω・`)

grape

  • また出てきた!読み進めるまで気になったまま我慢

assert

  • Groovyのassertって凄いですよね、物凄く直感的
  • コード例に使うとか、自分の脳みそじゃ絶対出てこないですヽ(`Д´)ノ

ひとめぐり

  • Groovyの特徴が良く出ているというサンプルが載ってました。
    • 一瞬、「(´・ω`・)エッ?」ってなったけど、順序良く追っていくと「なるほど〜」ってなるのが素敵
    • 今回はPGの打ち込みしてないから、明日復習を込めて打ち込む!
    • っていうか、全体的に直感的でわかりやすくて良いですね
  • コメント
// 一行コメント
/*
    複数行
    コメント
*/
  • マップ
    • 実体は java.util.LinkedHashMap型らしい
// 空っぽのマップ
def map = [:]

// キー:値で突っ込める
map = [a:123, b:456]

import宣言

  • 暗黙的に良く使われるパッケージがimport済なんですって!
    • 良くimport忘れてエラー出るので助かりますw
// 暗黙的にimportされてるよ!
java.lang.*
java.io.*
java.net.*
java.util.*
groovy.lang.*
groovy.util.*
java.math.BigDecimal
java.math.BigInteger

いんぽーとあず

  • asキーワードをくっ付けることで、クラス名を変更してimport出来るらしいΣ(゚Д゚)
    • Dateとかが複数あるからコレで解決だ(b´∀`)ネッ!
import java.sql.Date as SQLDate // クラス名変更!

// java.util.Dateと被らない
Date date = new Date()

バインディング変数

  • Groovyの事が書いてあるブログとかで、ずっと不思議だったけどやっと解決

名前付き引数

  • マップで引数のやり取りをすることで実現するみたい
    • こんな事が出来るとか、かなり衝撃的w

引数のデフォルト値

  • ずっと出来たら良いなって思ってた機能のひとつ。

マルチメソッド

  • 呼び出し側が気にしなくて良いのって素晴らしいですよね
    • Javaでの実現方法も、凄く勉強になりました。

GroovyBeans

  • ずっと求めていた機能が今ここに!
    • Javaも標準で付ければ良いのに…


面白かったヾ(*´∀`*)ノ
明日は残業しないで帰りたい。