僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
ファイル入出力の話なんて見当たらないので、
適当に検索して頂戴したソースを、若干加工したはずである。
ARGV相等の処理がうまくできなかったため、そのまま放置していた。
inFilename := '$DIR/$FILE'. inStream := FileStream open: inFilename mode: FileStream read. [ inStream atEnd ] whileFalse: [ temp := inStream upTo: Character cr. Transcript show: temp. ]
$ cat $DIR/$FILE と同じ結果になった(チェックサム確認)
GNU Smalltalk で動いた。Squeak3.9 ではダメだった。
st> 4611600000000000000 class SmallInteger st> 4611700000000000000 class LargePositiveInteger
さて、境目はどこなのか。2の冪乗じゃないようだ。
4611600000000000000 to: 4611700000000000000 do: [: x | Transcript show: x printString, ': ' . x class printNl ]" => 4611600000000000000: SmallInteger 4611600000000000001: SmallInteger 4611600000000000002: SmallInteger 4611600000000000003: SmallInteger . . .
駄目だ。時間掛り過ぎ、頭悪すぎ。
もう少し計算量の少ない方法でなんとかしなければ。
サーバの停止予定連絡が入った。
予定時刻の十分前にシャットダウンするように、
$ sudo at $MIN:$HOUR $MON $DAY $YEAR < shutdown_script
しておいた。もちろん、事前に仮想マシンで何度か テストしておいてから。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。