Skip to content

Instantly share code, notes, and snippets.

View ymnk's full-sized avatar

Atsuhiko Yamanaka ymnk

View GitHub Profile
object Factorial {
def fact(n: Int) = (1 to n) product
def main(args: Array[String]) = {
val n = if(args.length == 0) 1 else args(0).toInt
1 to n foreach {i => println(i + "! = " + fact(i))}
}
}
/*
* This source-code is based on
* source-code on http://blog.srinivasan.biz/software/if-you-have-to-learn-just-one-programming-language
* Using foldLeft often simplifies functional codes.
*/
/*
* Question: Do you want to play this game?
* You put down some money and roll a die between 1 and 100
* Depending on your roll:
* 1-50: I keep your money.
object StringDump{
implicit def enrichString(str: String) = new {
def dump:String={
str.getBytes("UTF-8").map{ _.asInstanceOf[Char] match{
case n @ ('"' | '\\') => "\\" + n
case n if ' ' <= n && n <= '~' => n
case n => "\\%03o" format (n&0xff)
}}.mkString("\"","","\"")
}
}
import scala.util.parsing.combinator._
/**
* expr :: CREATE TABLE tbl_name ( create_definition,...)
*
* create_definition:
* col_name column_definition
*
* column_definition:
* data_type
@ymnk
ymnk / README
Created January 29, 2009 02:22 — forked from hsak/beep.scala
This program is a 2D shooting game written in Scala by
@h_sakurai(http://twitter.com/h_sakurai),
and has been originally hosted at https://gist.github.com/46448 .
@ymnk(http://twitter.com/ymnk) has slightly modified that code
to run it on scala 2.8 with sbt.
$ sbt
> run
/*
* ftdop2.scala
* Functional Top Down Operator Precedence
*/
package ftdop2
import scala.util.matching.Regex
import scala.collection.mutable.HashMap
object main {
def main(argv:Array[String]) {
@ymnk
ymnk / pdr.scala
Created November 13, 2008 06:24 — forked from anonymous/pdr.scala
package pdr;
import javax.swing._;
import java.awt._
import java.awt.geom._;
import java.awt.image._
import java.io._
import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.HashMap
package jp.takeda_soft.examples
/**
世界のナベアツに挑戦
テーマ:implicitによるScalaAPIの拡張
*/
object Nabeatsu extends Application {
//Intがバカになるメソッド"!"を追加
implicit def bakanize(n: Int) = new Bakanizer(n)