当前位置: 首页 > 知识库问答 >
问题:

Clojure Ring:如何在字符串旁边打印变量

欧阳安阳
2023-03-14

我正在尝试将环境变量powered_by设置为变量message。然后我要测试message是否为空或为空。然后打印“Powered by”消息

当前,下面的代码不起作用。

(ns helloworld.web 
    (:use compojure.core [ring.adapter.jetty :only [run-jetty]] )
    (:require [compojure.route :as route]
              [compojure.handler :as handler]))


(defroutes main-routes
  ; what's going on
    (def message (System/getenv "POWERED_BY"))
    (GET "/" [] (apply str "Powered by " message))
    (route/resources "/")
    (route/not-found "Page not found")   )


(def app
    (handler/api main-routes))

(defn -main [port]
    (run-jetty app {:port (Integer. port)}))

共有1个答案

夏祯
2023-03-14

定义消息外部路由定义:

 (def message (System/getenv "POWERED_BY"))

 (defroutes main-routes
  ; what's going on
 (GET "/" [] (str "Powered by " message)
 (route/resources "/")
 (route/not-found "Page not found"))

如果您希望在每次收到请求时检索系统环境变量值,您可以使用let表单:

 (defroutes main-routes
  ; what's going on
 (GET "/" [] (let [message (System/getenv "POWERED_BY")]
                (str "Powered by " message))
 (route/resources "/")
 (route/not-found "Page not found"))

对于concat,只需使用(str arg1 arg2...)apply对列表有效,因此如果您想使用它,则应该执行类似(applystr[“powered by”message])的操作。

 类似资料:
  • 问题内容: 我曾尝试打印它,但由于它是转义字符,因此只是通过而已。例如,输出应如下。 提前致谢 问题答案: 为此以及将来的参考:

  • 问题内容: 如何多次重复一个字符串?我知道我可以使用for循环,但是我想在每一行中重复一行字符串时间。 例如,如果用户输入,则输出将是: 其中等于2,等于4。 问题答案: 要么

  • 我想打印一个字符串作为valuei尝试遵循宏[2]和“set”[1]选项,但仍然没有运气; [1] 我怎样才能使我的速度测试版打印像;?

  • 问题内容: 我正在使用python算出,如果一个孩子每7秒出生一次,那么5年内将有多少个孩子出生。问题出在我的最后一行。当我在文本的任何一边打印文本时,如何使它工作? 这是我的代码: 问题答案: 使用分隔字符串和变量,同时打印: in print功能将项目分隔为一个空格: 或更好地使用字符串格式: 字符串格式化功能更强大,它还允许您执行其他一些操作,例如填充,填充,对齐,宽度,设置精度等。 演示:

  • 我正在使用python计算如果一个孩子每7秒出生一次,5年内会有多少个孩子出生。问题在我的最后一行。当我将文本打印到变量的任一侧时,如何使变量工作? 这是我的密码:

  • 问题内容: 打印列表中元素之前的“ u”?我没有在代码中键入u。 当我运行此命令时,它将打印列表,但其格式如下: 那些“ u”来自列表中每个元素的位置? 问题答案: 我认为您实际上对此感到惊讶的是,打印单个字符串与打印字符串列表的功能不同–无论是否为Unicode,这都是事实: 即使没有,您也有多余的引号,更不用说反斜杠转义了。而且,如果您使用字节字符串而不是字符串尝试相同的操作,那么您仍然会使用