LoginSignup
2
1

More than 3 years have passed since last update.

Ruby Leet文字列に変換

Last updated at Posted at 2020-10-10

はじめに

こちらは学習メモです。

Leetとは?

たとえば、「Warez」という語を leet で表記すると、「W@rez」や「W4r3z」などとなるように、一部のアルファベットを形の似た数字や記号などに変化させること。

今回は、Rubyで以下のように変換します。

アルファベット⇄記号変換表
アルファベット 記号
A
B
C
D
E

入力された文字列に対して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によって一致判定・文字の入れ替えを一文字ずつ行っています。

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1