今回扱う例:算術式を扱うサンプル Expr (Expression)
abstract classの中身を実装していく 変数、数値、単項演算(-, ++, !, ...)、二項演算(+, - , <, &&)
abstract class Expr
case class Var(name:String) extends Expr
case class Number(num:Double) extends Expr
| def text2sentiment(source, dictionary) | |
| score = 0; | |
| # sourceのノーマリゼーション?が必要。全角半角とか。特に数字。 | |
| # 単語が複数回登場することがあるがその場合の評価は? | |
| dictionary.each{ |dic| | |
| pattern = dic[:word].gsub(/ /, '.*') #スペースは単純に削除でも良いかもしれない |
| # 動画コメントを取り出す例 2 | |
| # 動画コメントのjsonデータは行単位になっているが、どうも扱いづらいので、jsonの配列に変換しておく。 | |
| # | |
| # 元 | |
| # {"date":1,"no":2,"vpos":3,"comment":"hello!","command":"184"} | |
| # {"date":2,"no":3,"vpos":4,"comment":"hello!!","command":"184"} | |
| # … | |
| # | |
| # これを変換して |
| # 動画コメントを取り出す例 | |
| #install.packages("rjson") | |
| library("rjson") | |
| json_file <- "/ファイルの場所/sm57.dat" | |
| thread<-file(json_file,"r") | |
| for(i in 1:10000000){ |
| function sortByKeyLengthDesc($arr){ | |
| $keys = array_map('strlen', array_keys($arr)); | |
| array_multisort($keys, SORT_DESC, $arr); | |
| return $arr; | |
| } |
| curl 'http://www.google.co.jp' -w "\nstatus:%{http_code}" 2>/dev/null | fgrep 'status:' |
| http://git-scm.com/book/ja/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%BF%E3%82%B0 | |
| タグを作る | |
| $ git tag -a v1.4 -m 'my version 1.4' | |
| http://blog.s21g.com/articles/1359 | |
| ローカルのtagをサーバーにpush | |
| $ git push --tags | |
| http://blog.appling.jp/archives/1332 | |
| タグの削除(ローカルとリモート) |
| #!/bin/sh | |
| # 緑色で出力 | |
| greenEcho() | |
| { | |
| GREEN_STR="\033[0;32m" | |
| COLOR_END="\033[0m" | |
| echo "${GREEN_STR}$1${COLOR_END}" | |
| } |
| #!/bin/sh | |
| # シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編 - Yamashiro0217の日記 | |
| # http://d.hatena.ne.jp/Yamashiro0217/20120727/1343371036 | |
| # 問1 | |
| echo "---問1---" | |
| cat Log.csv |
| /** | |
| * 末尾再帰サンプル | |
| */ | |
| object sample { | |
| def main(args: Array[String]) { | |
| println(sumByTailCall(100)) | |
| } | |
| @scala.annotation.tailrec //これをつけると、末尾再帰でないメソッドをコンパイルエラーにしてくれる。 |