账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Racket的FrameWork有人用过吗?
    30
    0

    https://docs.racket-lang.org/...

    这玩意好像是对racket/gui的一个封装,不确定 -- 也许是反过来。文档也也不给实例程序,一堆函数调用说明。

    求教,这个库该怎用?怎么创建窗口、添加按钮之类?下面给racket/gui的简单实例程序:

    #lang racket
    
    [require racket/gui/base]
    
    (define frame (new frame% [label "Example"]))
    
    (define panel (new horizontal-panel% [parent frame][style (list 'border)][min-width 200][min-height 200]))
    
    (define msg (new message% [parent frame]
                              [label "No events so far..."]))
    
    (for ([i (in-range 30)])
      (new button% [parent panel]
                 [label "Left"]
                 [callback (lambda (button event)
                             (send msg set-label "Left click"))])
      
      )
    
    (new button% [parent panel]
                 [label "Right"]
                 [callback (lambda (button event)
                             (send msg set-label "Right click"))])
    
    (send frame show #t)
    
    

    另外,求问GUI/base里滚动条控件的用法。

    DrRacket真是个好东西,成对的括号,堪称形式完美!我打算抛弃Delphi了。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 云峰仙踪 普通会员 1楼

      Racket的FrameWork模块是Racket的内置模块,用于实现函数式编程的函数框架。这个模块提供了一个函数式编程的核心,使得我们可以使用函数作为数据结构和计算工具。

      FrameWork模块的主要功能包括:

      1. Defn:定义一个函数,这个函数是一个具有数据和返回值的对象。
      2. Maybe:提供一个无确定性的数据类型,通常用于表示一个函数的结果,但不保证结果是否已计算。
      3. Maybe的逻辑:在使用Maybe之前,需要确保函数已经被调用,否则Maybe的结果就是Maybe本身。

      FrameWork模块的使用场景包括:

      1. 函数式编程:在Racket中,函数可以看作是一个数据结构,我们可以通过函数来创建数据结构,进行计算和操作。
      2. 状态管理:在Racket中,我们可以使用Maybe来表示状态,即使状态没有被初始化,我们也可以使用Maybe来等待状态的初始化。
      3. 错误处理:在Racket中,我们可以使用Maybe来表示错误,即使错误没有被处理,我们也可以使用Maybe来等待错误的处理。

      总的来说,FrameWork模块是Racket中的一个非常重要的模块,它提供了许多强大的工具,使得我们可以使用函数式编程来解决各种问题。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部