pragma solidity ^0.4.0;

contract EMath{

    string public _a="lin";

    function f() public{
modify(_a);
} //function modify(string storage name) private{
function modify(string memory name) private{
//string storage c = name;Type string memory is not implicitly convertible to expected type string storage pointer
var c = name;
bytes(c)[0] ='L';
} //uint8 ~ uint256
//0000 0000 ~ 1111 1111
//0 ~255
//int8 ~ int256
//1111 1111 ~ 0111 1111
//-127 + 127 +0 =255 uint8 a=3;
//0000 0011
uint8 b=6;
//0000 0110
function yihuo() view returns(uint){
return a ^ b;
/*
0000 0011
0000 0110
0000 0101
*/
} function yifeihuo() view public returns(uint16){
return ~(a ^ (~b));
/*
0000 0011 0000 0110
1111 1001 1111 1010
*/
} function huo() returns(uint){
return a | b;
/*
0000 0011
0000 0110 0000 0111
*/
} function yu() returns(uint){
return a & b;
/*
0000 0011
0000 0110 0000 0010
*/
}
function left() returns(uint8){
return a<<2;
/*
0000 0011 0000 1100
*/
} enum Cants{left,right,mid} Cants public def=Cants.left; function re(Cants c1) returns(bool){
if (def ==c1){
return true;
}
} struct fun{
uint _id;
string _name;
uint _sex;
} //0x14723a09acff6d2a60dcdf7aa4aff308fddc160c
//0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db fun n1=fun(0,'eilinge',1);
fun n2=fun(1,'lin',0); fun[] public funs;
fun[] public funids; function p1() public{
funs.push(n1);
funs.push(n2);
} uint funid;
mapping(address=> fun) addfun; function p2(address na1) public{
fun memory f1 =addfun[na1];
//f1(2,'eil',0);type is not callable
f1._id=2;
}
} contract Addr{
address _owner =0xca35b7d915458ef540ade6068dfe2f44e8fa733c;
uint160 _c = 1154414090619811796818182302139415280051214250812;
/*
0x ca35b7d915458ef540ade6068dfe2f44e8fa733c :.legnth=40
c a
0b 1100 1010 :.length=40*4=uint160
*/
function f1() constant returns(uint160){
return uint160(_owner);
} function f2() constant returns(address){
return address(_c);
} function getBalance(address add) payable returns(bool){
//return add.balance;
add.transfer(msg.value);//msg.sender => add
} bytes1 _a=0xf0;
//0010 0010; 1*8
bytes32 public _b=0x231231;
//32*8 function getLeng() returns(bytes1){
//return _b.length;
return _a[0];
}
function getLeng1() {
//_b.length =5;Expression has to be an lvalue
} string public _d='lilianjie';
//bytes public _f =new bytes;type function (uint256) pure returns (bytes memory)
//is not implicitly convertible to expected type bytes storage ref
bytes public _f =new bytes(2); function bytestring() constant returns(bytes){
return bytes(_d);
}
function stringbytes() constant returns(string){
return string(_f);
}
function modifybytes() public{
//_d.length=5;
//Member "length" not found or not visible after argument-dependent lookup in string storage ref
bytes(_d).length=5;
_f.length=3;
//_d[0]='E';Member "length" not found or not visible after argument-dependent lookup in string storage ref bytes(_d)[0]="L";
}
}

ethereum(以太坊)(基础)--容易忽略的坑(二)的更多相关文章

  1. ethereum(以太坊)(基础)--容易忽略的坑(三)

    pragma solidity ^0.4.10; contract Byte{ bytes [] public T=new bytes[](3); function setLeng(uint len) ...

  2. ethereum(以太坊)(基础)--容易忽略的坑(一)

    pragma solidity ^0.4.0; contract base{ address public _owner=msg.sender; uint _a; string internal _b ...

  3. C#以太坊基础入门

    在这一部分,我们将使用C#开发一个最简单的.Net控制台应用,来接入以太坊节点,并打印 所连接节点旳版本信息.通过这一部分的学习,你将掌握以下技能: 如何使用节点仿真器 如何在命令行访问以太坊节点 如 ...

  4. ethereum(以太坊)(一)

    从这周开始,开始学习以太坊开发--solidity,开始决定往区块链方向发展,毕竟区块链技术应用广泛.一开始接触solidity开发语言不太习惯,毕竟一直在学习python语法,有很多都不能接受.有难 ...

  5. c#实战开发:以太坊钱包对接私链 (二)

    上一篇讲了 以太坊私链搭建 首先下载Ethereum Wallet 钱包 可以直接百度 下载如果直接打开它会默认连接公链 所以我们要通过命令打开 "F:\Program Files\Ethe ...

  6. 以太坊 layer2: optimism 源码学习(二) 提现原理

    作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 掘金:https://juejin.im/user/1785262612681997 博客:http://www.cnblogs.com/ ...

  7. ethereum(以太坊)(十二)--应用(二)__投票(基础总和)

    编写应用合约之前,先弄清它的逻辑,有助于我们更好的部署合约 pragma solidity ^0.4.21; pragma experimental ABIEncoderV2; contract vo ...

  8. ethereum(以太坊)(实例)--"安全的远程购买"

    pragma solidity ^0.4.10; contract Safebuy{ uint public price; address public seller; address public ...

  9. ethereum(以太坊)(实例)--"简单的公开竞拍"

    说真的,刚开始接触这个竞拍案例--“简单的公开竞拍”,我就抱着简单的心态去查看这个实例,但是自我感觉并不简单.应该是我实力不到家的原因吧!!!233333...不过经过大半天的努力,自己理解完之后,觉 ...

随机推荐

  1. Stage4--Python面向对象

    说在前面: Stage1-Stage4简单介绍一下Python语法,Stage5开始用python实现一些实际应用,语法的东西到处可以查看到,学习一门程序语言的最终目的是应用,而不是学习语法,语法本事 ...

  2. cordova 开发 ios app 简要流程

    1  安装node.js环境 官网: http://nodejs.org/ 点击[install],会下载mac的安装包.正常安装即可 2 安装cordova:npm install -g cordo ...

  3. Recsys2018 music recomendation

    http://www.recsyschallenge.com/2018/ January 2018 Release of the "One Million Playlists" d ...

  4. Android学习——ViewPager的使用(二)

    这一节介绍使用FragmentPagerAdapter适配器,来加载Fragment对象. 数据源 加载Fragment对象时,数据源自然来自Fragment,与View类似,依旧使用List来存放数 ...

  5. SharePoint Server 2010的移动设备配置方案

    随着微软全新一代办公系统Office 2010 的推出,其所支持的移动方案也日渐受到人们的关注,而这些移动功能则是依赖于 SharePoint 2010 的移动性支持.下面就将大家介绍如何设置 Sha ...

  6. 如何将BSP应用配置成Fiori Launchpad上的一个tile

    当我们通过WebIDE或者Eclipse的插件Team Provider把一个本地开发好的UI5应用部署到了ABAP Netweaver服务器上之后,我们可以将该UI5应用配置成Fiori launc ...

  7. angular2 里父子组件传值的坑

    1.如果传的是基本类型的值,子组件里改变该值,父组件无变化 2.如果传的是对象,子组件里改变对象里的变量,父组件会变化 3.如果传的是函数,this不会继续指向父组件对象了,如果需要this指向父组件 ...

  8. MySQL联合索引最左匹配范例

    MySQL联合索引最左匹配范例 参考文章:http://blog.jobbole.com/24006/ 创建示例表. 示例表来自MySQL官方文档: https://dev.mysql.com/doc ...

  9. HDU 5723 最小生成树上的期望

    题意:求最小生成树,和任意两个点之间距离的期望 官方题解: 最后求两遍点的积的时候,还是要判断父子关系. 注意 long long #include <bits/stdc++.h> usi ...

  10. NYOJ298 点的变换 【矩阵乘法经典】

    任意门:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=298 点的变换 时间限制:2000 ms  |  内存限制:65535 KB 难度:5 ...