gpt4 book ai didi

html - 如何将 Clojure 函数连接到 html 页面?

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:24 24 4
gpt4 key购买 nike

我在项目中遇到了一些问题,希望您能提供帮助。

我有一些 clojure 函数,比如

(def player-grid {:width {} :height {}})

(defn contains-coord [grid x y]
(if ((and (= ((grid :width) x) x) (= ((grid :height) y) y)))
true
false))

(defn add-to-grid [grid x y]
(assoc grid :width (into (grid :width) {x x})
:height (into (grid :height) {y y})))

我还有一个 html 页面,其中有一个由复选框组成的 10X10 战舰游戏板。我试图找到一种方法来连接两者,以便当我在板上点击放置一艘船时,坐标会发送到 clojure 函数。

基本上,我不知道如何将两者结合起来作为一个整体工作。

我非常感谢关于这个问题的一些建议或示例,因为除了从头开始创建新的 html 页面外,我发现在使用 compojure 和 hiccup 时没有任何用处。

最佳答案

哇哦-您正在尝试将两个本不应该连接在一起的事物联系起来(但作为初学者,您不可能知道这一点。)

首先,您需要决定您的 clojure 代码应该存放在哪里——它应该存放在提供这些网页的 Web 服务器上,还是应该存放在用于玩战舰的计算机上的 Web 浏览器中?两种可能性都可能有意义。

如果您想在服务器上运行您的 clojure 代码,您必须在用户单击网格时向服务器写入消息。您必须将每个网格方 block 链接到一些 javascript 代码,然后将一条消息发送到您的服务器到一个名为“http://battleshipgame.com/game/3243/grid?x=3&y=7”的 url,然后您将使用 compojure 进行处理(然后 compojure 路由处理程序将链接到你的函数。)这样做称为 AJAX,许多人会使用 jQuery 函数“单击”将网格空间连接到 javascript,并使用“post”将消息发送到 url。

如果你想在客户端运行你的clojure代码,那么你不能这样做,因为用户的网络浏览器中没有运行clojure解释器......但是,最近Rich Hickey发布了可以转换clojure代码的ClojureScript进入javascript。使用 ClojureScript,您可以在浏览器中完全按照您的意愿行事。查看 ClojureScript 编译器中的 twitter 示例以了解如何执行此操作:https://github.com/clojure/clojurescript/tree/master/samples/twitterbuzz

如您所见,这有点复杂,可能需要您投入一些精力来学习如何完成所有这些工作 - 祝您好运!

关于html - 如何将 Clojure 函数连接到 html 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com