私はいつもbc
それがやや不思議で面白いと思いました。これはその一つです。これオリジナルのUNIXプログラム。それ自体がプログラミング言語です。だから私はそれを使う機会があることを嬉しく思います。bc
階乗関数が含まれていないようで、次のように定義したいと思います。
define fact(x) {
if (x>1) {
return (x * fact(x-1))
}
return (1)
}
しかし...再利用することはできませんか?私は次のことができるようにしたいと思います。
me@home$ bc <<< "1/fact(937)"
ベストアンサー1
このようなファイルに関数定義を保存してfactorial.bc
実行します。
bc factorial.bc <<< '1/fact(937)'
bc
継承関数が実行時に常にロードされるようにするには、bc
シェルスクリプトまたは関数ラッパーバイナリ(スクリプトや関数が一番いいですか?どのように使用するかによって異なります。)
スクリプト(bc
、入れる~/bin
)
#!/bin/sh
/usr/bin/bc ~/factorial.bc << EOF
$*
EOF
機能(シェルrcファイルに入れる)
bc () {
command bc ~/factorial.bc << EOF
$*
EOF
}
~からbc
POSIX仕様:
指定されたファイルから入力を受け取り、標準入力から読み込みます。