トップ «前の日記(2012-11-29(Thu)) 最新 次の日記(2012-12-01(Sat))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2012-11-30(Fri) 結局昨日は降らなかった

read()は拡張

標準入力から、数字とa-f を一つずつ読み込むことができる。
g 以降は0と解釈される。大文字小文字の区別はなかった。
これはgnuのbc(1)だけみたい。FreeBSD 9.0-RELEASE の bc(1) にread()を入れると、 "dc: not a string" だった。

foo[0]=read()
foo[1]=read()
print "first num is ", foo[0], "\n"
print "second num is ", foo[1], "\n"
quit

"}" と "else" の間に改行を入れるとエラーになった。
これは上記のFreeBSDも同様。

read() に文字を喰わせたら

GNU bc(1) の続き。

"a" とか "e" とか、一文字なら 10-15になるが、 "ab" とか "1d" とかすると、a-f のいずれもが "9" に置換されるようだった。

foo[0] = read()
foo[1] = read()
print foo[0], " and ", \
  foo[1], " is ",\
  foo[0] + foo[1], "\n"
quit
$ echo e 8 | bc add.bc 
14 and 8 is 22
 
$ echo ac 1d | bc add.bc 
99 and 19 is 118

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。