Solidity言語

レッスン3:Solidityの高度なコンセプト⑨

本日の更新は二日酔いのため、、時間が遅くなってしまったことをお詫び申し上げますw

一応ですね、、送別会を開催していただいて、ビールを何杯か、とコーラの焼酎割りを何杯か、、どんだけ飲んだかは覚えてませんが、、w

最近は食べれなくなったのもそうだし、飲めなくなったなと感じております。

歳のせいと言ってしまえばそれまでですが、三十路になってからは若いっていいなぁなんて親父のように思っているので、もしこのブログを見ている20代の人たちがいたら、時間を浪費することだけはしないように生き方を考え、見つめ直して欲しい。

とりあえず3年、などという考えや洗脳を受けている場合は、そんな考えはリセットして自分の時間がいかに貴重なのか、という事を再確認するべく、いろんな情報を探してみて欲しい。

時間を浪費して働いて10年がすぎる事は、昔の日本の働き方であればそれでもよいが、現代に至っては時間の浪費=仕事をしている、という考え方ではかならず痛い目に合うという事を、頭の片隅にでもおいててほしい、、、

よくなるのか、わるくなるのか、、、それはわからないがいろんな問題が生まれるのは間違いないだろう、、、

見極めれる目を持てっ!!

CryptoZombies
イーサリアムでのゲーム開発を学ぶ

、、、では始めよう!

チャプター11:Storageのコストは高い
03
 以前にも書いた内容にはなるが、storageに書き込みする事というのが一番ガスコストがかかる作業となる。パソコンのイメージだとstorage=ハードディスクなのだが、solidityの場合は、ハードディスクではなくブロックチェーンに、ということになる。

ガスコストを支払うのは、プレイしてくれるユーザーである、という事は忘れてはいけない部分ですね。

23

今回の狙いはここですね!!memory内で配列を宣言する。arrayとあるが翻訳すると「配列」という意味である。なのでarray(配列)とmemoryを使うとガスコストをstorageを使うよりも圧倒的に低くするorかからなくすることができるということですね。

これは使わない手はないですし、使わないとプレイヤーに失礼ですね。
しっかり覚えていきましょう!!

いつもと違う点はどこか気づいただろうか??
uint型を指定する際に「[]」が付いている事に気付くと思う。

配列の宣言方法とはこの「[]」が付く、という事を覚える必要がありそうですね。
この場合はuint型の配列=uint[]になるという事ですね。

38

JavaScriptを学んだことがある人であればわかるとは思いますが、ここでは「length引数」という言葉がでてきます!lengthとは翻訳すると「長さ」という意味ですね。

lengthは状況により取得できる値が変わってくるので、以下でまとめました。

①文字列における「length」は、文字数を取得できる。

②配列における「length」は、要素数の合計値を取得できる。

③関数における「length」は、引数の合計値を取得できる。

以上を踏まえると、例は新しいuint型の3つの配列をvaluesに代入しているため、その後の処理で1、2、3を各配列に追加している形となりますね。

return values;となっているので結果としては、、



と出力されるはずです。たぶん、、w

それではテストで試してみましょう!!
53

まずはgetZombiesByOwner関数に以下の内容を入れていくよということなので、、、

1ではuint[] memory変数をresultという名前で宣言せよ、とのことなので、、

uint[] memory result

となり、2では、それを新しいuint配列と同様に設定せよ。との事で配列のlength(長さ)は、、、と続くので、、

uint[] memory result = new uint[](owenrZombieCount[_owner]);

となります。

3ではresultを返せ、との事なので、、

return result;

となりますね。

まとめると、、、

uint[] memory result = new uint[](owenrZombieCount[_owner]);
return result;

となりましたね!
ちなみに2のmappingして参照できるようにせよ。との事ですが、この形がmappingして参照している状態を示しているという事なので、使い方としても覚えておかなきゃならない部分ですね(個人的に!!)

こうやって使えば、mappingして参照しているんだよ、ってね。

まずまず、今の所はこんなもんでしょうか。。

これからサンジャポが入るので、落合さんだったり箕輪さんが出る時を見逃したくないので、見にいきますw

出てない時に、続きは書き進めようと思っていますので、午前もしくは午後にはもう一本更新します!

それでレッスン3も終了するので、今日中にレッスン4の更新もしたいと思います。

レッスン4はバトルに関してですからね、、楽しみですw
楽しんでいきましょう!!

CryptoZombies
イーサリアムでのゲーム開発を学ぶ

それではまた後ほど!

ABOUT ME
shidayuu
元バンドマンで読書・書評をしている函館在住32歳、しだゆうと申します! このブログでは主に読書した内容を元に、「ヒラメキを発信する」をテーマとして毎日更新しています。 書評をメインに、たまに元バンドマンの知識を発信していきます! あなたの役に立てる記事を書いていきます!