投稿

12月, 2016の投稿を表示しています

Diary-6 次世代クラウドリスト

皆さんこんにちは。2003kaitoのプログラミング日記を閲覧頂きありがとうございます。 さて、暫くの間部活で忙しく更新が出来ませんでしたが、今回は次世代クラウドリストの作成をご紹介します。 そもそもクラウドリストとは何か 皆さんもご存知のクラウド変数は、世界中で共通の値を共有できる変数です。しかし、クラウド変数には数値しか格納出来ないのです。そこで、文字列を数値で置き換えて格納する方法が考案されました。これがクラウドリストの原案です。 クラウドリストは、かつて10個の変数を使い1つのリストを格納する仕組みでした。ですが、どうしてもそれに納得できない僕が、変数名を自分で決められ、かつ1つのリストに対し1つのクラウド変数に書き込む仕組みを作ったり、使用可能な文字がいくらでも追加できるような仕組みを作ったりしました。 次世代クラウドリストって何が違うの? 従来のクラウドリストと決定的に違う点は、ズバリ書き込みに16進数を使うことです。 これにより、書き込み時間の短縮書き込み可能容量の増加などの効果が期待できます。 だがしかし、それだけでは終わらない。僕がその程度の事で満足するとでも思いましたか?そんな事はありません。 僕が16進数をクラウドリストを作る本当の目的は... 複数のリストを1つの変数に書き込ませることです。 仕組みをお教えしよう。どうやったら1つの変数に複数のリストを書き込めるようにできるのか。それは、16進数で使える文字に秘密があります。順を追って説明しましょう。 16進数の数値は、0~9とA~Fで表します。まず、書き込み容量の削減の為、各文字を表す数字の初めの数字をアルファベットで表すことを考え付きました。しかし、ここで問題が発生します。初めの数字としてあり得るのは1~9の9種類です。対して、16進数で使えるアルファベットはA~Fの6種類です。これでは足りない!でも大丈夫。アルファベットには小文字というものが存在します。したがって、A~F,a~fの12種類が使用可能です。 さて、容量削減が済んだ時点で、残りのアルファベットは12-9=3種類です。さて、ここで複数リストの書き込みに入ります。僕は書き込み用にa~e,A~Dを使い、リスト改行用にEを使うので、リストの区切りにはfを使うことにします。 さあ、まだ1つ余っています。これを使って何をするか... …