【问题标题】:What is the best way to initialize all the elements of a JTable with Clojure?用 Clojure 初始化 JTable 的所有元素的最佳方法是什么?
【发布时间】:2011-02-16 04:57:02
【问题描述】:

对不起,如果这是一个菜鸟问题,但我仍然习惯于函数式编程。

我想写一个简单的数独求解器作为练习。

我的一个计划是创建一个有 9 行和 9 列的 JTable,并将它们全部初始化为 字符串“123456789”作为起始位置。

如果我有一个 TableModel,我可以定义一个函数来初始化单个单元格,如下所示:

(defn initCell
 "inits a cell with 123456789"
 [dm row col]
 (doto dm (.setValueAt "123456789" row col)))

现在,为 9x9 表中的所有单元格调用此函数的最类似于 Clojure 的方法是什么?

【问题讨论】:

  • (.setValueAt dm ...) 等价于 (doto dm (.setValueAt ....)。doto 仅对执行多个操作有用。

标签: functional-programming clojure


【解决方案1】:

可能是这样的:

(doseq [x (range 10) y (range 10)]
  (initCell dm x y))

【讨论】:

    猜你喜欢
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 2012-02-08
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2019-07-24
    相关资源
    最近更新 更多