class MyClass(sp.Contract):
html += mySmartContract.myEntryPoint(op1 = 1, op2 = 2).html()
这里有两个区别。首先请留意,此刻您要查抄要匹配的条件(op1差异于零)。 第二点(也是最重要的一点)是,此“verify”语句将使剧本执行因“异常”(错误)而遏制。 将上面的代码复制并粘贴到编辑器中(替换sp.if-sp.else布局)。 然后,将op1参数变动为0。运行剧本。看看你获得什么:在开始之前,请单击“Evaluate script & run tests”按钮,以查抄一切是否正常。
mySmartContract = MyClass()
# Imports the SmartPy library.
@sp.entryPoint
将上面的代码放在编辑器中,然后运行剧本。利用op1 = 1和op2 = 2,功效应为“ 15”(总和1 + 2 = 3,然后将功效累加5次= 15):def mySmartContractTest():
对此处显示的差异范例的条件表达式举办本身的尝试。请记着,实践是完美的。这些小课程的目标是使您越发熟悉SmartPy IDE和呼吁语法,因此我们未来可以做更多高级的工作。我还发起您仔细阅读在线编辑器随附的模板,因为这是一种提前发明新事物的好要领。
def __init__(self):首先,通过将欣赏器指向https://smartpy.io/demo打开SmartPy 在线编辑器
self.data.result = params.op1 + params.op2
def myEntryPoint(self, params):
import smartpy as sp
# Creates the “test” to simulate the Smart Contract call.
@sp.entryPoint
sp.else:
self.data.result = params.op1 + params.op2这将轮回求和运算,,直到我们的变量“ i”的值大于30: html = “”
with sp.whileBlock(self.data.i <= 30):
def myEntryPoint(self, params):
# Outputs the result to screen.
setOutput(html)
# Instantiates an object of class “MyClass”.
轮回条件的另一种要领是利用“ whileBlock”结构:
self.data.result += params.op1 + params.op2
# Creates a string variable to build the output.
self.data.result = -1
# Calls the “myEntryPoint” method passing parameters.
好。 此刻假设(出于教义的目标)我们必需在求和剧本中添加一条法则。思量到我们不能答允用户将零作为参数值通报给我们的智能合约。因此我们将不得不在代码中添加一个条件。在大大都计较机语言中,这可以通过添加“ IF”语句来完成。在SmartPy中没有什么差异:
然后将下面的代码(从上一篇文章中)复制并粘贴到编辑器屏幕中:
查抄条件的另一种要领是利用“verify”语句:
此刻将通报的参数改回1。再次运行。您将看到此刻已经完成了总和,因为执行了“ else”语句中的代码。
# Defines the Smart Contract entry point.