2001-09-04 (Tue) [長年日記]
_ GCC 3
IRC(%Ruby)でknuさんが言ってたんですが、GCC 3は
printf("%c", c);
を、
putchar(c);
にしたりするらしいです。 そこまでやるか。
Rubyでも似たようなのにs =~ /foo/みたいなのを/foo/ =~ sに変換するというのが ある。これは以下のようにString#=~を再定義すると確認できる。
irb(main):001:0> class String irb(main):002:1> def =~(other) irb(main):003:2> puts "String#=~" irb(main):004:2> end irb(main):005:1> end nil irb(main):006:0> "foo" =~ /foo/ 0
あんまり似てないか。
2001-09-05 (Wed) [長年日記]
_ pack("v")/unpack("v")
pack("v")/unpack("v")はマニュアルだと
リトルエンディアン(Intel(またはVax)フォーマット)のshort
となっているけど、実はunsinged shortらしい。 "s"と"S"みたいに、"v"がsignedで"V"がunsignedかと思うと、 そうではなくて、"v"はunsigned shortで"V"がunsigned long。
ややこしいけど、たぶんPerlに合わせてるんだろうなあ。