سوالات و مشکلات در clojure


#1

سلام خدمت دوستان عزیز
با توجه به اینکه زبان کلوژر یه زبان جدید و با syntax بسیار غریب هست و دوستانی مثل من که به علت نیاز شروع به یادگیری این زبان کردن، به مشکلات فراوانی بر خواهند خورد.
لذا این تاپیک رو برای مطرح کردن مشکلات و پاسخ دادن دوستان باتجربه به اونها، ایجاد کردم.


#2

خیلی خوبه که برای هر مشکل تاپیک جدید ایجاد بشه . اینجور راحتتر می شه سرچ کرد.


#3

بله، خوبه، اما یک نکته اینه که‌ شاید از عمر کلوژر به صورت رسمی ۱۲ سال بیشتر نگذره اما Lisp که در اصل همون زبان و syntax کلوژر هست بسیار قدیمی و شناخته شدست، و حدود ۶۰ سال از عمر این زبان زیبا میگذره که مورد استفاده و طرفداران بسیار زیادی داره.


#4

ممنون از شما
به هر حال حسابی دارم باهاش کلنجار میرم و شبیه زبانهای دیگه از جمله C و vhdl و … نیست
الانم یه مشکل اساسی دارم
نمیتونم توسط jdbc به دیتابیس mysql وصل شم.
از github فایل clojure.jdbc-master.zip رو دانلود کردم و اونو داخل پوشه src پروژه خودم extract کردم و بعدش کد زیر رو میزنم و نمیتونم متصل شم.

111111

در ضمن از xampp برای mysql استفاده میکنم


#5

مگه Lein یا boot استفاده نمی کنی ؟


#6

با cursive clojure پلاگین intelij IDEA تو ویندوز کار میکنم


#7

نشد دیگه. واسه همین این مشکلات رو داری. اول از همه اینکه Lein رو از لینگ زیر نصب کن و یاد بگیر چجوری ازش استفاده کنی.

https://leiningen.org/

بعد اینکه اون jdbc رو به لیست dependency های پروژه تو project.clj اضافه کن بعد یه REPL ران کن یا با Cursive این کارو انجام بده. همین

در آخر هم ویندوز استفاده نکنی بهتره :smile:


#8

lein رو قبلا نصب کردم و دستورات کلوژر رو توی کامند پروم میتونم اجرا کنم
jdbc رو هم توی قسمت dependency فایل project.clj تعریف کردم


#9

خوب پس دیگه نیازی نیست اون رو تو src اکسترکت کنی. با lein repl به repl وصل شو و تست کن ببین متونی Require کنی اون ns رو یا نه.

راستی از اول اصلا خطا رو هم ندادی ببینیم


#10

چه مشکلی با ویندوز در رابطه با کلوژر وجود داره؟ چون اصلا استفاده نمیکنم اصلا هم بر نخوردم.
البته کلا از ویندوز استفاده نکنیم بهتره :slightly_smiling_face:


#11

کلا منظور سمیر عزیز هم همین استفاده نکردن ویندوز در همه شرایط هست . :grin: مشکل کلوژر یا زبان دیگه نیست مشکل خود ویندوزه :wink:


#13

:angry::angry::angry::angry::angry:دیگه تو پستای کلوژور نیا تا وسوسه نشی و بعد عید یا تابستون میریم سراغ اسکالا


#14

منم ویندوز استفاده نمی کنم اما زیاد شنیدم که ملت باهاش واسه همه چی مشکل دارن اما در مورد کلوٰژر مشکل عمده ای که شنیدم classpass بوده


#15

دوستان مشکلم حل شد.
1 - فایل jdbc.clj رو توی classpath و مسیر src\clojure\java اضافه کردم
2 - از [mysql/mysql-connector-java “5.1.37”] تو قسمت dependency فایل project.clj استفاده کردم.

درضمن چون کار اصلی من طراحی سخت افزار هستش، مجبورم از نرم افزارهای چند هزار دلاری مختلف (البته برای ما تو ایران چند هزار تومانی) برای کارم استفاده کنم که اکثرشون فقط تحت ویندوز اجرا میشن و حتی نسخه مک هم ندارن.

با سپاس فراوان از همه عزیزان


#16

سلام
cider رو تو emacs نصب کردم و اونو تو profile.clj و project.clj تعریف کردم
حالا وقتی یه کد کلوژر باز میکنم و M-x cider-jack-in رو میزنم ارور زیر رو میده:

Starting nREPL server via "c:/Users/R.Rast/.lein/bin/lein.bat" update-in :dependencies conj ^"[org.clojure/tools.nrepl \^"0.2.13\^" :exclusions [org.clojure/clojure]]^" -- update-in :plugins conj ^"[cider/cider-nrepl \^"0.17.0-SNAPSHOT\^"]^" -- repl :headless :host ::..

در ضمن اگه تو کامند پروم lein repl رو بزنم و repl اجرا میشه و تو emacs توسط cider-connect بهش وصل میشم، اما نمیتونم توسط cider-jack-in اونو تو emacs اجرا کنم. مشکل چیه؟


#17

اینی که فرستادین ارور نیست و احتمالا repl تو یه بافر دیگه ران شده. وقتی از ‍cider-jack-in استفاده می کنی دیگه نیاز نداری تو profile.clj چیزی نوشته باشی.

اگر تنظیمات Emacs خاص نیست پیشنهاد می کنم از FG42 استفاده کنی که خودم هر روز از افزونه Clojure ش استفاده می کنم.


#18

ممنون، مشکلم حل شد. فایل profile.clj رو پاک کردم و قسمت :profile توی project.clj رو کلا حذف کردم.
بعدش repl اجرا شد و ارور زیر رو داد:

error in process filter: run-hooks: Symbol’s function definition is void: cider-turn-on-eldoc-mode

برای حلش رفتم به آدرس emacs.d/customizations/setup-clojure.el. و قسمت
(add-hook 'cider-mode-hook 'cider-turn-on-eldoc-mode) رو بصورت زیر تغییر دادم:
(add-hook 'cider-mode-hook 'eldoc-mode)