【问题标题】:Scheme error in substring function子字符串函数中的方案错误
【发布时间】:2015-04-11 03:30:00
【问题描述】:

我是 Scheme 的新手,我正在尝试实现一个简单的函数来检查字符串的结构。特别是,我正在检查字符串是否为 ss 形式 这是作业,所以请不要给出完整的答案。我只是在我的代码中有一个无法修复的错误。

我明白了

错误:1不是函数[(anon), /, /, (anon), display, s, CB, CB, CB, CB, CB, CB, CB, CB, CB, CB, CB, CB ,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,CB,/,CB,/,CB,/,CB,/,CB,/ , CB, /, /, CB, -, CB, -, CB, -, CB, -, CB, 字符串长度, CB, -, CB, -, CB, -, CB, -, CB, -, CB ,-,CB,-,=,CB,-,CB,-,CB,-,CB,-,CB,-,CB,-,CB,-,CB,-,CB,=,CB,=,CB , -]

这是我的代码:

  (define CB
     (lambda (s)
        (display "String: ")(display s) 
        (define S_length (string-length s))
        (display " length: ")(display S_length)
            if (not(= S_length 0))

            if (even? S_length)
                (define leftString  (substring s 0 [(- (/ S_length 2) 1)]))
                (define rightString (substring s (- (/ S_length 2) 1) [(- S_length 1 )]))
                (string=? leftString rightString)

                )
                )

【问题讨论】:

    标签: string scheme substring


    【解决方案1】:

    零件:

    [(- (/ S_length 2) 1)]
    

    [(- S_length 1 )]
    

    不应有额外的括号[]。这会导致错误,因为表达式简化为 (1),它尝试将 1 应用于无参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多