intern
インターン(言語の基礎)
意味 文字列をシンボルに変換
internとは?
internは、文字列をシンボルに変換するメソッドです。to_symと同じ機能を持ちますが、より直接的にシンボルを生成します。
internの具体的な使い方
文字列をシンボルに変換する
# 文字列をシンボルに変換
str = "hello"
symbol_intern = str.intern
symbol_to_sym = str.to_sym
puts "元の文字列: #{str}"
puts "internで変換したシンボル: #{symbol_intern}"
puts "to_symで変換したシンボル: #{symbol_to_sym}"
# internとto_symの比較
puts "internとto_symの結果は同じか: #{symbol_intern == symbol_to_sym}"
puts "internとto_symの結果は同じオブジェクトか: #{symbol_intern.equal?(symbol_to_sym)}"
# パフォーマンス比較
require 'benchmark'
n = 1_000_000
Benchmark.bm(10) do |x|
x.report("intern:") { n.times { str.intern } }
x.report("to_sym:") { n.times { str.to_sym } }
end
👇出力結果
元の文字列: hello
internで変換したシンボル: hello
to_symで変換したシンボル: hello
internとto_symの結果は同じか: true
internとto_symの結果は同じオブジェクトか: true
user system total real
intern: 0.109375 0.000000 0.109375 ( 0.109381)
to_sym: 0.109375 0.000000 0.109375 ( 0.109386)
この例では、文字列"hello"をinternメソッドを使ってシンボル:helloに変換しています。また、to_symメソッドとの比較も行い、両者の結果が同じであることを確認しています。さらに、簡単なベンチマークを実行して、internとto_symのパフォーマンスを比較しています。internは低レベルな操作であり、特定の状況下ではto_symよりもわずかに高速である可能性があります。
internに関するよくある質問
internが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのinternやyield、<、def、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Rubyを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!