2024-12-26 (木)
上野
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
健康診断
ケーキを焼いたりする日
https://github.com/binzume/gotosh
シェルスクリプトにトランスパイルした後のfloatは実際は文字列で長さの制限が無いので、精度を指定できるようにしてみる。
package main import ( "fmt" "math" "github.com/binzume/gotosh/shell" ) func main() { shell.SetFloatPrecision(1000) fmt.Println("Pi:", math.Atan(1)*4) }
とかするだけで円周率を1000桁計算できるようになった。遅いけど。
冬休み。
書いた: Goで書いたプログラムをシェルスクリプトに変換する
構造体を使えるようにしたり、bcコマンドを使ってfloat64型をサポートしたりする。
Goの文法が単純なので1000行以下の実装でそれっぽくなるな。
Gooleマップのタイムライン、設定したはずなのに昔のやつ見えなくなってるな。。。データのバックアップはあるのだけど、デバイスに手動でインポートはできなさそう?
https://github.com/binzume/gotosh これでファイルをOpenできるようにしておく。最新のBashやZshに限定すれば、FDに変数を指定できるし割り当てとかも自動でできるのだけど、それ以外のシェルだとevalが必須になってしまうな。。。
初めて知ったけど、Bashは /dev/tcp/HOST/PORT
とかでソケットも開けるのか。。。
あとは、structとポインタに対応すればGoらしい実装で色々書けそう。
Goに fmt.Print()
と fmt.Println()
という関数があるけど、いままで改行の出力の有無の違いだけだと思っていた。
fmt.Println(x, y, "end") fmt.Print(x, y, "end\n")
x,y のどちらかがstring以外の時に、Printlnは間にスペースが入るけど、Printはスペースが入らない。ドキュメントには書いてあるのだけど、覚えられる自信ない。
Spaces are added between operands when neither is a string.
Println
Spaces are always added between operands and a newline is appended.