2
A
回答
8
我猜你的意思是模式匹配。對於這個問題的一般解決方案,考慮實施Unification Algorithm,在SICP中描述了一個完整的工作解決方案。或者,考慮在代碼中嵌入miniKANREN,這是一個簡單的邏輯編程系統,可與Scheme協同工作。
現在,對於更簡單的比賽,您可以使用球拍的Pattern Matching技能。對於問題的例子:
(define expression '(john lives-in new-york))
(match expression
[(list ?x 'lives-in ?city) (list ?x ?city)]
[_ #f])
=> '(john new-york)
上面將匹配靠在(?x lives-in ?city)
圖案給定表達式,返回與所匹配的值的列表爲?x
和?city
,或#f
如果沒有找到匹配。
+0
我有一個問題。方案模式匹配是否使用統一算法實現?對我來說,Scheme Matching方案非常強大,我想了解它的正式方面。 – 2013-10-18 14:48:46
相關問題
- 1. 如何在Erlang中對二進制進行模式匹配?
- 2. 如何在elixir中對HashDict進行模式匹配?
- 3. 如何在字符串中進行模式匹配?
- 4. 如何在Scala中對泛型進行模式匹配?
- 5. 如何在Groovy Script中進行模式匹配?
- 6. 如何在SML中對字符串進行模式匹配?
- 7. 如何在Haskell中使用元組進行模式匹配?
- 8. 如何在Lucene.Net中進行模式匹配?
- 9. 如何在模式匹配
- 10. 如何在模式匹配
- 11. 如何在(思考)sphinx extended2模式下進行屬性匹配?
- 12. 如何在不同類型上進行模式匹配?
- 13. 我如何在Scala範圍內進行模式匹配?
- 14. 如何在Bigarray的GADT上進行模式匹配?
- 15. 如何實時進行模板匹配
- 16. 如何匹配Perl中模式匹配前後的行?
- 17. 無法進行模式匹配
- 18. 如何在R中進行組匹配?
- 19. 如何迭代字符串列表並進行模式匹配?
- 20. logstash grok - 如何進行條件模式匹配?
- 21. 如何將模式與完整的字符串進行匹配?
- 22. 如何結合多個模式進行匹配?
- 23. Nhibernate如何進行內部連接和匹配模式?
- 24. 如何使用參數化特徵進行模式匹配?
- 25. 如何在MongoDB中進行高級列表建模和匹配
- 26. 如何在neo4j密碼中進行三元組/模糊匹配?
- 27. 如何匹配一組匹配模式的行
- 28. 如何匹配此模式
- 29. 如何模式匹配==和=?
- 30. 在scala中對一系列值進行模式匹配
您正在與哪些計劃合作?雞,球拍等? – 2013-04-05 13:49:29