Rubyコミッターが語る Ruby2.4にてFixnumとBignumをIntergerに統合する話 #RubyKaigi #RubyKaigiA

Unifying Fixnum and Bignum into Integer @tanaka_akr http://rubykaigi.org/2016/presentations/tanaka_akr.html "Ruby has three classes to represent integers: Fixnum, Bignum and Integer. Integer is the abstract super class of Fixnum and Bignum. 続きを読む
0
前へ 1 2 ・・ 5 次へ
リンク くりにっき gemspecにRUBY_VERSIONによるif文書くのは意味がないので今すぐやめるべき - くりにっき 自戒です tl;dr 発端 間違った対処法 だがしかし sonots先生曰く 検証結果 所感 Rubyのバージョンによる分岐を全部Gemfileに寄せた結果 謝辞 tl;dr gemspecの中でRubyのバージョンによってインストールしたいgemのバージョンを変えたい時は、gemspecではなくGemfileでif文書くのがおそらく正解 発端 先月くらいのFacebook内のちょっとした会話がきっかけでした *1 activesupportやactiverecord 5系以降ではRuby 2.2.2以降
みよひで画伯 @miyohide

akr「そもそも何故このようなことをするのか。まず、Fixnumと判定される幅は環境や実装に依って異なる。」#rubykaigiA #rubykaigi

2016-09-08 16:27:30
黒曜@Leaner Technologies @kokuyouwind

「FixNumの表現範囲はプラットフォームに寄って±2^30, 2^62, 2^63など。」 1bitは符号フラグだろうけどもう1bitは何に使ってるんだろ #rubykaigi #rubykaigiA

2016-09-08 16:27:48
うたがわきき @utgwkk

Fixnum と Bignum は Ruby の国際規格で定義されてはないが、許容されている #rubykaigi #rubykaigiA

2016-09-08 16:29:35
プリズムリバーの人 @prismriver

規格だとFixnum、Bignumは定義されていないのか。 #rubykaigi #rubykaigiA

2016-09-08 16:29:52
黒曜@Leaner Technologies @kokuyouwind

規格では、unboundedなIntegerが定義されているが、サブクラスは「あってもよい」という扱い。なのでFixNum, BigNumがある実装でも規格に適合してはいる。 #rubykaigi #rubykaigiA

2016-09-08 16:30:17
みよひで画伯 @miyohide

akr「RubyにはJIS/ISOで定義された規格があり、そこではFixnumやBignumの存在は有っても良いしなくてもよい。」#rubykaigiA #rubykaigi

2016-09-08 16:31:42
suginoy @suginoy

規格作った人すごいな。ちょっと感動 #rubykaigiA

2016-09-08 16:31:53
WAKASUGI 5T111111 @5t111111

if(n)def RUBY_INTEGER_UNIFICATION5、6箇所しかない、これくらいでいいんだ #rubykaigi #rubykaigiA

2016-09-08 16:32:12
Tsuyoshi MAEHANA @sandinist

WinのLLP64 longが32bitなのは互換性の為なんだろうなぁ。並べてみるとintもlongも32bitというのは違和感しかないのだけど。 #rubykaigi #rubykaigiA

2016-09-08 16:33:04
ないさろーる @nysalor

つまりLinux以外でver.4294967296のgemをリリースすると例外になるのか? #rubykaigi #rubykaigiA

2016-09-08 16:34:25
Wataru MIYAGUNI @gongoZ

Fixnum のことを本当に知っていて is_a?(Fixnum) を使っているのかどうかみたいなことが起きやすい #rubykaigiA #rubykaigi

2016-09-08 16:34:43
ぺら @Peranikov

`obj.is_a?(Fixnum)` は `obj.is_a?(Integer)` と同じになる #rubykaigi #rubykaigiA

2016-09-08 16:35:06
Mastodon @toshi_a

Fixnumでの判定、どっかでやってしまってそうだなぁ #rubykaigi #rubykaigiA

2016-09-08 16:35:20
joker1007 (アルフォートおじさん) @joker1007

自分はどっかの時期から意識的に整数であるかをチェックする時はIntegerって書いてた気がするけど、そうでないコードを書いてた可能性もあるな。 #rubykaigiA #rubykaigi

2016-09-08 16:35:36
黒曜@Leaner Technologies @kokuyouwind

FixNumとBigNumをIntegerに統合する利点はいろいろあって、欠点は非互換性くらい。非互換性が問題になるのは、例えばrubygems/specificationにversionがFixNumであるかの検査がある #rubykaigi #rubykaigiA

2016-09-08 16:36:08
とよた/あるえす @rs_wisteria

1がFixnumであることは大体の人は知らない(Lispプログラマーは除く) #rubykaigi #rubykaigiA

2016-09-08 16:36:18
マサユキ @masa0x80

1がIntegerなことはみんな知っているが、1がFixnumだということは普通知らない #rubykaigi #rubykaigiA

2016-09-08 16:36:22
前へ 1 2 ・・ 5 次へ