Rubyシンボルをエラーなく整数に型キャストできます。 だから:a.to_i
は合法です。私はこの整数の意味が何であるか疑問に思っていました。それはそのシンボル固有の固有の値ですか?Rubyシンボルを整数に変換する
答えて
Ruby 1.9でSymbol#to_i
が削除されたため、これは今後互換性がないため、これを行うべきではありません。それにかかわらず、docs say this about it:
プログラムの特定の実行内で一意の整数を返します。
どちらもC関数SYM2ID()
を呼び出す終わるように、それは、シンボルをobject_id
を呼び出すこととほぼ等価です。
ありがとう、アンドリュー。私にとって、これはGoogleの深いリンクに続く危険の教訓でした:-)私はhttp://corelib.rubyonrails.org/classes/Symbol.htmlへのリンクを投稿しようとしていました。これはto_iが生きて蹴っていることを示しています。そのページ上(またはURL内)のどこにでもRuby 1.8.4(!)のドキュメントがあります。 Ruby * docではなくROR(URLが示すように)です。 Ruby 1.8.4用のサイトであることを確認するには、ルートに移動してタイトルを確認する必要があります。だから、教訓は学んだ。 Googleの深いdocリンクをフォローしているときは、あなたが探しているドキュメントのバージョンを確認してください。 –
1.8.xのシンボルは、即時オブジェクトです。彼らの実装は高速で、ほとんどの場合、ほとんどありませんでした。しかしそれに伴い、ガベージコレクションの不足に関するセキュリティ上の懸念が生じました。
#to_i
および#to_int
のメソッドは一意の整数を返し、内部実装に関連していました。
シンボルは即値として、暗黙的および明示的な整数変換はすべて1.9.xで削除されました。もちろん、object_id
を入手することができます。興味深いのは、1.8.x to_i
とobject_id
が同じ番号を返さなかったことです。
- 1. Ruby、シンボルの整数への暗黙的変換なし
- 2. Rubyドル整数を文字列に変換する
- 3. Rubyで文字列を整数に変換する方法
- 4. 整数変換のための例外メッセージをカスタマイズする - Ruby
- 5. Ruby Array:整数を文字列に変換
- 6. 因数を整数に変換する
- 7. シンボルから16進整数への変換
- 8. 変換整数
- 9. スカラ整数をJava整数に変換するには?
- 10. ベクトルを整数に変換
- 11. Java:バイトを整数に変換する
- 12. ハイブローオブジェクトを整数に変換するスパーク
- 13. bytearrayを整数に変換する
- 14. 整数をhhに変換するPHP:mm:ss
- 15. 整数を文字に変換する
- 16. Powershell整数をguidに変換する
- 17. Python、PuLP:LpVariableを整数に変換する
- 18. 整数を時刻に変換する
- 19. 文字を整数に変換する
- 20. size_tを整数に変換する(C++)
- 21. バンドルを整数に変換する(インテント)
- 22. パンダデータフレーム:整数をhh:mmに変換する
- 23. リストを整数に変換する
- 24. 整数のリストを単一の整数に変換する:ValueError
- 25. Rubyで整数をIPアドレスに手動で変換する方法
- 26. Rubyで文字列をハッシュ記号と整数に変換する
- 27. Ruby文字列を.to_iなしで整数に変換する方法
- 28. 数値/整数に変換して変換する
- 29. シンボル変数を反復可能変数に変換するには?
- 30. Swiftは整数を整数に変換します
':a.to_i'は私のために' irb'とRailsコンソールでエラーを投げます。どのように成功しているのかは分かりません。 –