はじめに
こちらは学習メモです。
Leetとは?
たとえば、「Warez」という語を leet で表記すると、「W@rez」や「W4r3z」などとなるように、一部のアルファベットを形の似た数字や記号などに変化させること。
今回は、Rubyで以下のように変換します。
アルファベット⇄記号変換表
アルファベット | 記号 |
---|---|
A | 6 |
B | 8 |
C | 5 |
D | 3 |
E | 1 |
入力された文字列に対してLeetで文字を変換する。その後、文字列を出力する。
コード
word = gets.chomp.split('')
word.each do |w|
case w
when 'A'
print '6'
when 'B'
print '8'
when 'C'
print '5'
when 'D'
print '3'
when 'E'
print '1'
else
print w
end
end
入力例
ABKTED
[実行結果]
68KT13
解説
word = gets.chomp.split('')
・1行目では入力された文字を一文字ずつ区切って配列にし、word変数に代入
getsメソッド: 入力を一行ごとに「文字列」で受け取る。
chompメソッド: 文字列の改行を取り除く。
splitメソッド: 文字列を分解して配列にする。
word.each do |w|
・word変数の要素をw変数に代入する
2行目以降はcaseによって一致判定・文字の入れ替えを一文字ずつ行っています。