در جلسه ششم این دوره معرفی زبان برنامه نویسی سالیدیتی آغاز میگردد. در ابتدا در زمینه ساختار فایل و نحوه تعیین ورژن کامپایلر توضیحاتی ارائه می گردد، سپس انواع داده های مورد استفاده در زبان سالیدیتی مورد بررسی قرار میگیرد. در ادامه شیوه های کنترل خطا معرفی می گردد، توابع و مادیفایرها شرح داده میشوند و در پایان مباحثی در زمینه توضیح نویسی در بین خطوط کدهای برنامه (کامنت) ارایه میگردد.
سلام
اگر من درست متوجه شده باشم گفته شد که دستور push به اخرین خانه مقدار دهی می کند. در عکس یک بار مقدار (۲) داده شده و در خط بعدی این مقدار رو عوض شده و برابر با (۳) هست. چه دلیلی داره اول به یک خانه یک مقداری بدهیم و بعد در خط بعدی برنامه اون مقدار رو عوض کنیم؟
ممنون
سلام. Push مقدار مورد نظر را در آرایه قرار میده. دراینجا در خط اول عدد 2 و خط بعدی عدد 3 را در آرایه Myarray قرار میدهد بدین صورت
2=[0] myarray
وmyarray[1]=3
میشود
تو ویدیو گفته شد دستور push مقدار رو به خانه اخر اون ارایه اضافه می کنه . به عنوان مثال اگر ارایه Myarray دارای 4 خانه باشد دستور push مقدار ما رو در خانه 4 ارایه myarray قرار می دهد.
نکته اینجاست که که طبق اموزش push مقدار رو فقط به خانه اخر ارایه می ده
متد push برای ارائه های نامحدود استفاده میشه. همونجور که myarray تعدادش مشخص نیست. حالا وقتی میگه خونه آخر یعنی اینکه اگر الان ارائه 3 تا عضو داره دیتای جدید میره خونه چهارم که خونه آخر هست.
سلام، منظور از خانه آخر آرایه در ویدئو ، ساخت یک خانه جدید و اضافه کردن محتوا به اون خونه هست، اگر اینطور که شما گفتین من توی ویدئو من توضیح دادم، حق با شما هست کمی گنگ و نامفهوم توضیح داده ام. عذرخواهی میکنم
سلام خسته نباشین
دو تا سوال دارم یک اینکه تفاوت دستور address.transfer رو با address.send متوجه نشدم تو فیلم توضیح داده نشد
و سوال دیگم اینه که منظور از arbitrary message call چیه؟ (داخل توضیحات address.call هستش)
در اسلایدی که enum درس داده شد ما تو خط اول یه enum تعریف کردیم به اسم FreshJuiceSize که سه تا حالت small & Medium & Large داره. دو خط بعدی رو من متوجه نمیشم
اون خطی که نوشتیم FreshJuiceSize choice; خود “choice” چیه؟ متغییره؟چرا تعریفش کردیم؟ و اصلا چرا با این فرمت دستوری؟
در تصویر بعدی هم که از سایت solidity example گرفتم منظور از اون دستور رو نمیفهم
Satatus Public status;
ما با این دستور داریم چیکار میکنیم؟ اون status که با حروف کوچیک نوشتیم چی هست؟ چرا باید تعریف بشه؟ فرقش با اون یکی Status چیه؟
توصیه میشه که از address.transfer استفاده بشه
تفاوت در اینه هنگام استفاده از transfer زمانی که به اررور خاصی میخورید یک exception بر میگردونه
اما در هنگام استفاده از send در صورت برخورد با ارور فقط مقدار false برمیگردونه و شما باید در کدتون value رو چک کنید
choice متغیری از نوع enum تعریف شده است
فرمت دستوری که استاندارد سالیدتیه دیگه
و اینکه چرا از enum استفاده میشه یه دلیلش اینه خوانایی کد شما رو بالا میبره
Status یک enum است که حالت های درون کد رو پذیرفته
status متغیری از نوع Status است که با حالت های تعریف شده داخل enum مقدار میپذیرد
من سرچ کردم متوجه شدم چیه داستان اینجا میگم تا شاید بدرد بقیه هم بخوره
ما در واقع با دستور Enum یه DataType درست میکنیم که میشه همون Status
حالا ما باید بعدش یه متغییر درست کنیم که این مقادیر رو بهش اختصاص بدیم مثل دستورای دیگه که برای تعریف یه متغییر اول باید DataTypeش رو مشخص کنیم (مثلا مینوشتیم uint public x) اینجا مینویسیم Status public status
سلام و احترام
در صورتی که از Send استفاده کنیدو مقدار به ولت مقصد منتقل شود مقدار true بر میگرداند و در عیر این صورت اگر به هر دلیلی موفق نشه مقدار false بر میگرداند و شما با چک کردن خروجی این تابع می توانید تصمیم لازم را بگیرید و لی در حالت ترنسفر exception برگردانده می شود
سلام
سرچ کردم یه جا نوشته بود از لحاظ مقدار gas مصرفی یکی هستن ولی اگه بخواین درباره ی دلایل اضافه ی دیگری اطلاع داشته باشیم از transfer استفاده میکنیم
این هم خود متنش :
If you are curious about the reasons for adding a transfer you may follow an original discussion about the feature.
(چون از لحاظ gas هم یکی هستن پس transfer پیشنهاد میشه)
یجا دیگه آورده بود
می تونی کل فرآیند transfer رو با این دستور ببینی
متن :
Suggestions for the name: transfer (sounds safer because transfer usually asks you to watch the whole process)
سلام تو دقیقه ی 12جلسه که در مورد اختصاص حافظه صحبت میشه یه جایی دکتر اسکندری میگن یه جا بنویسیم یه حالته یه جا ننویسیم یه حالت دیگه ، منظور دقیقشون از یه جا نوشتن چیه؟؟