はじめに
かと.emag llabesab a gnihctaw retfa tnaruatser a ot gniog eb lliw I dna nos ym ,krow retfa ,yadoT:ばえ例。ねよすでいなめ読はに単簡とるすに字文さ逆をかとトッベァフルアはとあ。すまりかかが間時にのむ読は文い長がすまけ解み読に単簡は字文さ逆い短。たしましに逆を字文うよいくにみ読とざわ。ねよすでいくにみ読に常非ていてっなにさ逆が字文は事記のこ、しかしやい。すまいざごうとがりあていだたいでん読を事記のこ !dlrow olleh
え..なに..これ..???
あっ!? 逆さから文字を読めばいいのか!!!
本題
ん”ん”ん”ん”でもなぁ。。。。。長ったらしい逆さの文章読むのめんどくさいな。。。。。
プログラミングでどうにか解読できないかな????って思ったのが今回この記事を書こうと思った理由。
調べたらこれでできるみたい。。。。
文字列.split('').reverse().join('');
それぞれの関数の意味ってなんぞ・・・・・・
split関数
- 文字列を配列形式にしてくれる関数
- splitの引数パラメータでアルファベットごとに切り分けたり、単語ごとに切り分けられる(詳しいことは割愛します)
//文字列
const str = `!dlrow olleh`;
//split関数
const splitString = str.split(` `);
console.log(splitString);
//表示結果: [ '!dlrow', 'olleh' ]
reverse関数
- 配列の最初の要素と最後の要素を反転させる
//配列
const arrayString = ['world!','hello']
console.log(arrayString);
//表示結果: Array ['hello', 'world!'];
join関数
- 配列全要素を順に連結した文字列を作成する
- 引数に入れた文字が連結部分に表示され、引数無しなら”,”が表示される。
- 引数に
``
のみなら,
が消えた文字列になる
//配列
const elements = ['今日の', 'ご飯は', 'カレーです'];
//" , "を含んだ文字列になる
console.log(elements.join());
//表示結果: "今日の,ご飯は,カレーです"
//" A "を含んだ文字列になる
console.log(elements.join('A'));
//表示結果: "今日のAご飯はAカレーです"
//" , "を含まない文字列になる
console.log(elements.join(``));
//表示結果: "今日のご飯はカレーです"
実際に逆さ文字を戻してみる
reverseString(str){
str.split('').reverse().join('');
}
reverseString("かと.emag llabesab a gnihctaw retfa tnaruatser a ot gniog eb lliw I dna nos ym ,krow retfa ,yadoT:ばえ例。ねよすでいなめ読はに単簡とるすに字文さ逆をかとトッベァフルアはとあ。すまりかかが間時にのむ読は文い長がすまけ解み読に単簡は字文さ逆い短。たしましに逆を字文うよいくにみ読とざわ。ねよすでいくにみ読に常非ていてっなにさ逆が字文は事記のこ、しかしやい。すまいざごうとがりあていだたいでん読を事記のこ !dlrow olleh");
//出力結果
hello world! この記事を読んでいただいてありがとうございます。
いやしかし、この記事は文字が逆さになっていて非常に読みにくいですよね。
わざと読みにくいよう文字を逆にしました。
短い逆さ文字は簡単に読み解けますが長い文は読むのに時間がかかります。
あとはアルファベットとかを逆さ文字にすると簡単には読めないですよね。
例えば:Today, after work, my son and I will be going to a restaurant after watching a baseball game.とか
結論
正直なぜこんなことを熱心に調べたんだろう。。。。。。って今思ってます。
なんならこんな素晴らしいサイトがありました(白目)。
https://www.nap.st/arranged_in_reverse/?lang=ja
いや、頑張った意味〜〜〜〜〜〜〜〜〜
おわり。