iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 7
0
Blockchain

有什麼新鮮事發生在 Ethereum系列 第 7

Day07 - 新版修正 Solidity 語言本身的一些邏輯錯誤

  • 分享至 

  • xImage
  •  

位移結果錯誤

y = -3 >> 1;

在新版的結果是 -2,在舊版的結果是 -1

防止意外進入無限迴圈 (infinite loop)

在舊版時下面這段程式碼在用到 continue 語法時,會意外掉入無限迴圈,新版則可以正常跳脫迴圈。

function f(uint x) public returns (bytes memory) {
  do {
      x += 1;
      if (x > 10) continue;
  } while (x < 11);

  (bool success, bytes memory data) = address(other).call("f");
  return data;
}

資料來源


上一篇
Day06 - Solidity 新版禁止使用的函式
下一篇
Day08 - Remix IDE 介面大改版
系列文
有什麼新鮮事發生在 Ethereum30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言