【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net (89レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
69
(1): デフォルトの名無しさん [] 2021/05/11(火) 00:27:26.30 ID:5VzwiW7v(1/3) AAS
>>68
丁度 Clojure 三日目になりました

(ns example.trumps.card)
(def spades 4)
(def hearts 3)
(def diamonds 2)
(def clubs 1)
;(def suit '(spades hearts diamonds clubs))
(def suit (conj '() clubs diamonds hearts spades))

って直したらイケました

user=> (use 'example.trumps.card)
nil
user=> spades
4
user=> suit
(4 3 2 1)
user=> (first suit)
4
user=> (= (first suit) spades)
true

リストを作りたいからクォートで評価を止めたので
リストの中身も評価されずに追加されている
って事だったみたいです…

うーん…
70: デフォルトの名無しさん [] 2021/05/11(火) 00:56:40.16 ID:5VzwiW7v(2/3) AAS
>>69
んで、こうなりました…

(ns example.trumps.card)
(def spades 4)
(def hearts 3)
(def diamonds 2)
(def clubs 1)
;(def suit '(spades hearts diamonds clubs))
;(def suit (conj '() clubs diamonds hearts spades))
(def suit [spades hearts diamonds clubs])

って定義して

user=> (use 'example.trumps.card)
nil
user=> suit
[4 3 2 1]
user=> spades
4
user=> (get suit 0)
4
user=> (= (get suit 0) spades)
true

インデックス要らないからベクタじゃなくてリストで定義しようとして
クォートで括弧の評価を止めてリストを定義したら
リストの中身も評価されなかったので
クォートの要らないベクタに変更したら
ベクタの中身はちゃんと評価されましたとさ

別にインデックス要らないんだけど…
72: デフォルトの名無しさん [] 2021/05/11(火) 20:06:43.07 ID:5VzwiW7v(3/3) AAS
>>71
アドバイスありがとうございます!
普通に list 関数でリストを作ればよかっただけだったんですね…
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s