【问题标题】:Getting strings from a list into VID in Red language用红色语言从列表中获取字符串到 VID
【发布时间】:2017-09-18 13:29:32
【问题描述】:

我正在尝试使用动态创建的 gui 元素创建一个面板:

  sentlist: ["A" "B" "C"]
  main: function [slist] [
    view collect [
      keep [below]
      repeat i length? slist [
        keep[
            text slist/i    ; THIS STEP IS NOT WORKING
            field "" ] ] ] ]

  (main sentlist) 

一系列字符串被发送到用于从中放置文本标签的函数。 GUI 窗口/面板可以正常打开,但文本元素上没有任何标签。问题出在哪里,如何解决?感谢您的帮助。

【问题讨论】:

    标签: list user-interface rebol red


    【解决方案1】:
    sentlist: ["A" "B" "C"]
    main: function [slist] [
        view collect  [
            keep 'below
            repeat i length? slist [
                keep  compose [text (slist/:i) field "" ]
            ]
        ] 
    ]
    main sentlist 
    

    【讨论】:

    • 顺便说一下,这是官方的格式。不要总是编辑/破坏它。我不明白您对格式的编辑是否被审阅者接受
    • 我试过slist/:i,但没有使用parens (slist/:i),也没有compose。您能否在答案中提供一些关于需要括号和撰写关键字的解释。关于格式,我认为将右大括号放在单独的行上是不合逻辑的。代码块最好通过缩进而不是右大括号/方括号来查看。
    • 我认为这是合乎逻辑的。如果缺少括号或更多括号,您可以轻松地查看并且不计算右括号。 Compose 只计算/执行块中的括号。
    • 缺少或多余的括号很容易被优秀的 IDE 发现。即便如此,一旦代码正常工作,就应该把右括号收起来——如果需要调试一些问题,以后再打开它们。上面的答案中有 3 行几乎是空行。
    • 不是每个人都使用 IDE。一个简单的编辑器总是可以在不同的平台上使用。如果出现问题,为什么要重新格式化?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 2011-09-25
    相关资源
    最近更新 更多