小编Col*_*.D.的帖子

函数关键字与OCaml匹配的区别

我现在正在学习OCaml,我想出了这段代码.

let rec tree_to_list acc = function
  | Leaf x -> x::acc
  | Node (t1,t2) -> tree_to_list (tree_to_list acc t2) t1
Run Code Online (Sandbox Code Playgroud)

据我所知,这个功能与此功能相同

let rec tree_to_list2 acc t = match t with
  | Leaf x -> x::acc
  | Node (t1, t2) -> tree_to_list t1 (tree_to_list2 acc t2)
Run Code Online (Sandbox Code Playgroud)

但是,我不理解第一个函数背后的语法.我发现关键字功能令人困惑.它应该只采用一个参数,例如:

function x -> x + 2
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解第一个函数的语法,以及两个函数的评估方式是否存在差异.提前致谢.

syntax ocaml

6
推荐指数
2
解决办法
4503
查看次数

Python事件与tkinter绑定

所以,我是Python的GUI新手,我一直在努力理解envents过程,这是我的代码,以及每当我按下'a'键时它应该打印"按下按键"的意图.但它赢了为我工作.

#!/usr/bin/env python3
# -*-coding:UTF-8 -*

from tkinter import *

root = Tk()

def callback(event):
    print("key pressed")

canvas = Canvas(root, width=100, height=100, bg='blue')
canvas.bind("a", callback)
canvas.pack()

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

events binding tkinter key python-3.x

3
推荐指数
1
解决办法
5716
查看次数

标签 统计

binding ×1

events ×1

key ×1

ocaml ×1

python-3.x ×1

syntax ×1

tkinter ×1