2010年11月28日日曜日

【GO言語で】ECHOコマンド実装【するゾ】

GOでECHOコマンドをすこし変えた機能を実装してみる。
・・・といっても公式サイトのチュートリアルそのままをちょろっといじっただけですが。

-----------------------------------------------------------------

package main


import (
"os"
"flag"
)


var omitNewline = flag.Bool("n", false, "don't print final newline")
//          ※bool型のポインタ(よく分からん・・・)


const (
Space   = " "
Newline = "\n"
)


func main() {
flag.Parse()
// ※実行時に渡された引数を一旦flagに設定する処理


var s string = ""
// ※ここは「var s = ""」もしくは「s := ""」でもOK


for i := 0; i < flag.NArg(); i++ {
// ※たぶんNArg()で取得した引数(空白で区切られた値)の数
if i > 0 {
s += Newline
}
s += flag.Arg(i)
}
if !*omitNewline {
//    ※ここの意味がよく分からない・・・(からっぽだったら??)
s += Newline
}
os.Stdout.WriteString(s)
// ※よみこんで設定しなおした内容を表示させる。
}



-----------------------------------------------------------------

作成した8exeに文字列(a b c・・・)を渡して実行すると、区切りごとに改行してコマンドプロンプトに表示する。
※通常のECHOコマンドは、改行しない。


0 件のコメント:

コメントを投稿