0パディング(ゼロパディング)をしようとしたときに簡単なやり方があったのでメモ。
0パディング:
n桁に足りない整数値の場合、左を0で埋める操作。
123を6桁にする場合には、000123のようになる。
n桁に足りない整数値の場合、左を0で埋める操作。
123を6桁にする場合には、000123のようになる。
aTurtle =Turtle ! create (blue) linecolor 1 linewidth。 aTurtle ! penup 200 200 moveto pendown. [ | i | aTurtle ! 5 forward (90 * sin(i)) rightturn. ] ! 3000 repeat.
前回の記事 に引き続き、無名関数中の return 文の仕組みについて調べてみる。
今回は 匿名関数を引数に引き渡して深い階層からリターンしてくる場合を見てみよう。
今回の Scala コードはこれ。
def main(args:Array[String]) { println("main start") test(); println("main finish") } private def test() { val f = () => return; println("test start") test2(f); println("test finish") // 実行されない。 } def test2(f: () => Unit) { println("test2 start") f(); println("test2 finish") // 実行されない。 } ------------------ main start test start test2 start main finish
test2() 内の 匿名関数実行で test2()、test() を一気に脱出している。
この前の記事で、Scala の無名関数中での return 文の動きについてみてみた。
今回はその仕組みが Java 的にどうなっているのか見てみる。 JD-Plugin の導入には前回失敗したので、デコンパイルには Java Decompiler の GUI 版を使った。def main(args:Array[String]) { println("main start") test(); println("main finish") } private def test() { val f = () => return; println("test start") f(); println("test finish") // 実行されない。 } ------------------ main start test start main finish