2007-06-27から1日間の記事一覧

perl6::Sayをインストール

perl6の関数があらかじめ使えるのかな?とおもいインストールしてみる # aptitude install libperl6-say-perl $ perl -e 'use Perl6::Say;say "Hello,World"' Hello,Worldををっ!すばらしい。ありがとうございます。>id:bonlifeさん

runghcに-eオプションを無理矢理付ける

上のエントリとまったく同じノリ。なので引数も同じ問題点を抱えてる。 $ function runghci { if [ $# -ge 1 ] && [ $1 == '-e' ]; then echo $2>$$.hs;shift;shift;runghc $$.hs $*;rm $$.hs;else runghc $@;fi; } $ runghci -e 'import System;main=do{a<-…

gaucheの-eオプションをその辺のLLと同じにする。

仕様:-eオプションは最初に置いたときのみ有効利用方法:以下を.bashrcに叩き込む。 function goshi { if [ $# -ge 1 ] && [ $1 == '-e' ]; then echo $2>$$.scm;shift;shift;gosh $$.scm $*;rm $$.scm;else rlwrap gosh $*;fi; }function書いたの初めてで…

前提 $echo -e "foo\nbar\nbuzz" > a.txt $echo -e "buzz\nbar\nfoo" > b.txtうーん、-Eexit dummyがむかつく(笑 早く慣れよう。とおもったがbashの方で対応した $ goshi -e '(for-each (lambda (x) (display (call-with-input-file x (lambda (f) (port->s…

strcatがうまく使いこなせないため着陸 rungcc -m 'int i=1;for(;i

くー、runghcの-eオプションだとmainの省略パターンみたいだ。せめて-で標準入力からとってくれるとうれしいのだが $ echo 'import System;main=do{a<-getArgs;putStrLn $ unwords a}'>a;runghc a "aaa bbb" ccc;rm a aaa bbb ccc #!/usr/bin/runghc import …

spidermonkeyで実装されたJavascriptShellでechoを作ってみた。 $ echo 'print(arguments.join(" "))'|js - "aaa bbb" ccc aaa bbb ccc #!/usr/bin/js print(arguments.join(" "))

配列が@なのとjoinの引数の順序を完全に忘れてた。 $ perl -e 'print join(" ",@ARGV),"\n"' "aaa bbb" ccc aaa bbb ccc #!/usr/bin/perl print join(" ",@ARGV),"\n"

一行どころの話じゃない(笑 やっぱ、短いプログラムにはLLの方が有利だな… $ ruby -e 'puts ARGV.join(" ")' $ ruby -e 'puts ARGV.join(" ")' aaa aaa $ ruby -e 'puts ARGV.join(" ")' "aaa bbb" aaa bbb $ ruby -e 'puts ARGV.join(" ")' "aaa bbb" ccc …

その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…

微妙。foreachかmapかで迷ってしまった。 中央に燦然と輝く";"がすごく気になるがperlでファイルを操作したのは久しぶりでこれ以上は無理(笑 $ perl -e 'foreach(@ARGV){open F,$_;print <F>}' $ perl -e 'foreach(@ARGV){open F,$_;print <F>}' a.txt b.txt foo </f></f>…

やっぱこっちの方が慣れてるな。一分かからなかった。 $ ruby -e 'ARGV.each{|i|print open(i).read}' $ ruby -e 'ARGV.each{|i|print open(i).read}' a.txt b.txt foo bar buzz buzz bar foo