البحث من خلال القوائم مع المخطط (drracket)
سؤال
إذن هذا هو الكود الخاص بي:
(define *graph* (read(open-input-file "starbucks4.sxml")))
(define get-artifacts
(lambda (l)
(member (list 'opm:artifact) l)))
عندما أكتب get-artifacts(*graph*)
أحصل على خطأ في القول procedure application: expected procedure, given:...(the whole of my file contents)
أي شخص يرى ما أفعله خطأ؟ شكرا يا رفاق :)
ملاحظة: أنا جديد حقًا في المخطط ، لذا فمن المحتمل أن يكون هناك جملة غبية أنسى!
المحلول
بناء الجملة لاستدعاء وظيفة في المخطط (function-name arguments)
, ، ليس function-name(arguments)
.
عندما تكتب get-artifacts(*graph*)
, ، يقيم المضرب أولاً get-artifacts
الذي يقيم لنفسه.
ثم يحاول التقييم (*graph*)
, ، وهو ما يتطلبه الأمر ليكون مكالمة وظيفة بدون وسيطات. هذا لا يعمل بسبب *graph*
هي قائمة وليس وظيفة. حتى تحصل على الخطأ.
نصائح أخرى
انظر إجابتي على سؤالك الآخر ؛ يبدو أنك تبحث عن SXPath ، هنا.
لا تنتمي إلى StackOverflow