その2
string-joinはnilのとき""を返すのを発見。
gosh> (string-join ()) ""
修整後。すっきりしたなあ。
#!/usr/bin/gosh (define (main args) (display (string-append (string-join (cdr args)) "\n")) 0)
listをappendしてからstringに変換する方法
#!/usr/bin/gosh (define (main args) (display (string-join (append (cdr args) '("\n")))) 0)
追記:shiroさんからの display -> printの示唆
#!/usr/bin/gosh (define (main args) (print (string-join (cdr args))) 0)
おお、すっきりした。
そうか、gaucheの方言である*argv*を使えばrubyと勝負できるな。
#!/usr/bin/gosh (print (string-join *argv*))
うん。悪くない。
おしいなー コマンドラインの-eオプションが通常のLLと違うだけか。
しかし迷うな…
言語 | 改行無 | 改行有 |
---|---|---|
scheme | display | |
ruby | puts | |
perl | say(use Perl6::Say;環境下にて) |
perlの改行有がわからない。(追記:id:bonlifeさんに教えていただいた)