タグ

ブックマーク / qiita.com/Nabetani (2)

  • go のわかりにくい型推論 - Qiita

    func main() { f := func(i int) uint8 { return uint8((1 << i) % 10) } fmt.Println("f(5) =", f(5)) //=> f(5) = 2 } $2^n$ を 10で割った余りを uint8 で返すという普通の関数。 2の5乗 は 32 なので、 f(5) は 2 になる。順当。 思いがけなかった例 上記の関数 f に 10 を入れると

    go のわかりにくい型推論 - Qiita
    masterq
    masterq 2023/03/19
    "zig は、ビット長不定の値をシフトできないことがわかる" え。それは不便では
  • Zig の文書読んで所感を記す - Qiita

    これは何? Zig を学ぼうと 公式文書 (0.91時点) を読んでいるんだけど、読みながら思ったことを記していく。 続編は Zig の文書読んで所感を記す #2 へ。 その前に Zig への言及が最近多いなぁ、でもシンプルな言語だって言うしまあどうでもいいかなぁ、ぐらいの気持ちでいたんだけど、ZigはCMakeの代替となるか を読んで、俄然興味が湧いてきて、じゃあ読んでみるか、と思った。 数値 i32 とか u16 のような名前で型が提供されている。 整数は 128bit まである。そればかりか、 3bit とか 53bit のような中途半端な幅の整数も使える模様。面白い。 さらに。何に使うのかわかってないけど、 i0 u0 のようなゼロビットの整数もある。 ちなみに0ビット整数には 0 が代入できる。 u1 は、 0 または 1。 i1 は、 0 または -1 が代入可能。 浮動小数点

    Zig の文書読んで所感を記す - Qiita
  • 1