by shigemk2

当面は技術的なことしか書かない

$@を応用して特定ディレクトリの全てのファイルに対して処理を行う

node bftranslate.js brainfuck/A.b js/A.js 

というコマンドがあったとして、

node bftranslate.js brainfuck/B.b js/B.js 
node bftranslate.js brainfuck/C.b js/C.js 
node bftranslate.js brainfuck/D.b js/D.js 
node bftranslate.js brainfuck/E.b js/E.js 
...()

という風に一つ一つ手で実行するのは骨なので、これらをまとめて1回でやってくれるようにしてみる。

CentOS 6.5にpecoを入れる(oh-my-zsh環境で)

Go追加

$ wget https://go.googlecode.com/files/go1.2.1.linux-amd64.tar.gz
$ tar zxvf go1.2.1.linux-amd64.tar.gz
$ sudo mv go /usr/local

各種設定

export PATH=$PATH:/usr/local/go/bin
export GOPATH=~/gocode
export PATH="$PATH:$GOPATH/bin"

function peco-select-history() {
  local tac
  if which tac > /dev/null; then
    tac="tac"
  else
    tac="tail -r"
  fi
  BUFFER=$(\history -n 1 | \
  eval $tac | \
  peco --query "$LBUFFER")
  CURSOR=$#BUFFER
  zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history

oh-my-zshのhistoryにはエイリアスがかかっているので、\で解除してやるのはお約束。

$ source ~/.zshrc
$ go get github.com/peco/peco/cmd/peco

ヒャッハァァァー

追記(参考サイト)

peco/peco · GitHub

GoとRevelをサーバーに入れる | yuki-sato.com

oh-my-zsh の環境で、peco-select-history が動かない - Qiita

「REPLをコードに組み込む」を試してみる

scala.tools.nsc.interpreter.ILoopを使え、とのこと。

Scala Interpreter Hacks!! ―REPLを組み込んだりevalしたり - ( ꒪⌓꒪) ゆるよろ日記

コードは↑のリンクから。

$ scalac Repl.scala
$ scala MyREPL
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
val a = 1
val b = 1
a + b
a * b
val s = "shigemk2"
shige$ tail -f output.txt
Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_45).
Type in expressions to have them evaluated.
Type :help for more information.

scala> a: Int = 1

scala> b: Int = 1

scala> res0: Int = 2

scala> res1: Int = 1

scala> s: String = shigemk2

scala>