Skip to content

Instantly share code, notes, and snippets.

@nurkiewicz
Created October 17, 2010 12:29
Show Gist options
  • Save nurkiewicz/630801 to your computer and use it in GitHub Desktop.
Save nurkiewicz/630801 to your computer and use it in GitHub Desktop.
//$ javap -c Book
//...
public Book(java.lang.String, java.lang.String, int);
Code:
0: aload_0
1: aload_1
2: putfield #28; //Field author:Ljava/lang/String;
5: aload_0
6: aload_2
7: putfield #35; //Field title:Ljava/lang/String;
10: aload_0
11: iload_3
12: putfield #38; //Field year:I
15: aload_0
16: invokespecial #49; //Method java/lang/Object."<init>":()V
19: return
}
//$ javap -private Book
Compiled from "Book.scala"
public class Book extends java.lang.Object implements scala.ScalaObject{
private final java.lang.String author;
private final java.lang.String title;
private final int year;
public java.lang.String toString();
public Book(java.lang.String, java.lang.String, int);
}
import org.apache.commons.lang.builder._
class Book(author: String, title: String, year: Int) {
override def toString =
new ToStringBuilder()
.append("author", author)
.append("title", title)
.append("year", year)
.toString()
}
def capitalizeAfterHash(list: List[Char]): List[Char] =
list match {
case '#' :: rest =>
rest.map(_.toUpper)
case _ :: rest =>
capitalizeAfterHash(rest)
case Nil =>
Nil
}
println(capitalizeAfterHash('a' :: 'b' :: '#' :: 'c' :: 'd' :: Nil))
println(capitalizeAfterHash('#' :: 'c' :: 'd' :: Nil))
println(capitalizeAfterHash('a' :: 'b' :: Nil))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment