有什么区别:
(cons 'a (cons 'b 'c)) ;; (A B . C)
Run Code Online (Sandbox Code Playgroud)
和
(cons 'a '(b.c)) ;; (A B.C)
Run Code Online (Sandbox Code Playgroud)
我需要使用cons创建以下列表((ab).c),所以我试图理解那个"." 代表.
LE:我有以下(cons (cons 'a 'b) 'c)但它产生((A . B) . C)而不是((A.B).C)(注意额外的空格)
我正在将我的应用程序切换到Postgresql,我的架构中的所有表都是小写的,当我使用 NHibernate 进行查询时,它会向映射中的表名添加双引号,该表名在 PascalCase 中并导致查询失败我认为该表不存在。
我可以轻松转到所有映射类并将 Table 方法更改为小写,例如从 'Table("UserAccount")' 更改为 'Table("useraccount")',但我宁愿不必这样做。 .
我想知道是否有任何方法可以告诉 nhibernate 不要在查询中对表进行双引号,以便它可以正确找到它。
我试过这个:
PostgreSQLConfiguration.Standard.Raw("hbm2ddl.keywords","none").ConnectionString(x => x.Is(_connectionString));
Run Code Online (Sandbox Code Playgroud)
它没有用。我几乎会告诉 nhibernate 不要担心大小写,但是在使用 postgres 时遇到麻烦。
我需要能够匹配引号之外的“互联网”一词。例如
Internet "InternetFormula works and it's internetformula"
Internet "The internet works"
Run Code Online (Sandbox Code Playgroud)
但我不知道该怎么做,因为正则表达式很复杂,而且我找不到类似的东西。
请看这个例子。我正在使用 GNU CLISP 2.49。
(defparameter *pudding-eater* 'henry')
;; output:
READ from
#<INPUT CONCATENATED-STREAM #<INPUT STRING-INPUT-STREAM> #<IO TERMINAL-STREAM>>: an
object cannot start with #\)
(defparameter *pudding-eater* 'henry)
;; output:
*PUDDING-EATER*
Run Code Online (Sandbox Code Playgroud)
我确实明白是双引号引起了问题。我不明白的是,什么an object cannot start with #\)意思?我从哪里开始#\)?我期待一些错误消息,如umatched parenthesis.
['00', '11"', 'aa', 'bb', "cc'"]
Run Code Online (Sandbox Code Playgroud)
这是在Python中.我想剥掉双引号,以便我的输出成为
['00', '11', 'aa', 'bb', 'cc']
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我define在C++中使用带有反斜杠的方法,并与a一起ifstream调用a.但是,在使用反斜杠时出现错误,其中说:
错误 - 缺少结束报价.
我试过了#define BACKSLASH \,但根本没有任何价值:
#define BACKSLASH '\'
if((char)a.get() == BACKSLASH // Error here)
{
// BLAH BLAH BLAH
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试4clojure上的挑战,并陷入以下代码
(ns com.koddsson.for-clojure
(:use [clojure.test :only [is deftest run-tests]]))
(defn my-flatten
([x] (if (not (and (seq? x) (vector? x)))
x ; If x is not a sequence nor a vector
(map my-flatten x)))) ; else recursivly apply the flatten function
(deftest test28
(is (= (my-flatten '((1 2) 3 [4 [5 6]])) '(1 2 3 4 5 6)))
(is (= (my-flatten ["a" ["b"] "c"]) '("a" "b" "c")))
(is (= (my-flatten '((((:a))))) '(:a))))
(run-tests)
Run Code Online (Sandbox Code Playgroud)
它生成以下输出.
? bubblegum 20 ? ? …Run Code Online (Sandbox Code Playgroud) 无论我做什么,我都无法在引号中使用引号来保持输出.我是什么做的?这是OS X中的bash.我的代码在这里:Gist
read -d '' sbt_text=$(cat <<"EOF"
#!/bin/bash
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M";
java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@"
EOF
)
echo $sbt_text
#!/bin/bash > SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"; > java -jar /sbt-launch.jar ""
Run Code Online (Sandbox Code Playgroud) 我需要在通用方法中返回矩形的坐标列表。坐标是类“购物车”实例。
我尝试用make-instance将其退回
(defclass line ()
((start :initarg :start :accessor line-start)
(end :initarg :end :accessor line-end)))
(defmethod print-object ((lin line) stream)
(format stream "[LINE ~s ~s]"
(line-start lin) (line-end lin)))
(defclass cart ()
((x :initarg :x :reader cart-x)
(y :initarg :y :reader cart-y)))
(defmethod print-object ((c cart) stream)
(format stream "[CART x ~d y ~d]"
(cart-x c) (cart-y c)))
(setq lin (make-instance 'line
:start (make-instance 'cart :x 4 :y 3)
:end (make-instance 'cart :x 7 :y 5)))
(defgeneric containing-rect (shape))
(defmethod …Run Code Online (Sandbox Code Playgroud) 我在将列表传递到宏时遇到问题,该列表将用于生成函数名称。例如,下面的代码将导致错误。
(defmacro gen (str-lst)
`(defun ,(intern (string-upcase (car str-lst))) () (print "foo")))
(gen '("foo" "bar"))
Run Code Online (Sandbox Code Playgroud)
产生的错误是:
***-DEFUN / DEFMACRO:QUOTE是一种特殊的运算符,不能重新定义。可以使用以下重新启动:ABORT:R1
中止主循环
我应该如何修改我的代码,我的代码有什么问题?
令我更加困惑的是,下面的代码(有关答案在此处退出)的运行正常。
(defmacro easy-one (str-lst)
`(mapc #'(lambda (str) (print str)) ,str-lst))
(easy-one '("foo" "bar"))
Run Code Online (Sandbox Code Playgroud) quote ×10
common-lisp ×3
lisp ×2
backslash ×1
bash ×1
c++ ×1
case ×1
clisp ×1
clojure ×1
cons ×1
evaluation ×1
macros ×1
match ×1
newline ×1
nhibernate ×1
postgresql ×1
python ×1
regex ×1
testing ×1