คำถามติดแท็ก elixir

Elixir เป็นภาษาการเขียนโปรแกรมแบบโอเพ่นซอร์สไดนามิกคอมไพล์และเอนกประสงค์ ได้รับการออกแบบมาให้ใช้งานร่วมกับแพลตฟอร์ม Erlang ได้อย่างสมบูรณ์และเหมาะอย่างยิ่งกับการเขียนแอปพลิเคชันแบบกระจายที่ทนต่อความผิดพลาดพร้อมการรับประกันแบบเรียลไทม์ที่นุ่มนวลและความสามารถในการแลกเปลี่ยนรหัสร้อน

8
เหตุใดจึงมีฟังก์ชั่นสองประเภทในยาอายุวัฒนะ?
ฉันเรียนรู้ยาอายุวัฒนะและสงสัยว่าทำไมมันมีนิยามของฟังก์ชันสองประเภท: ฟังก์ชั่นที่กำหนดไว้ในโมดูลด้วยdefเรียกว่าการใช้myfunction(param1, param2) ฟังก์ชั่นไม่ระบุชื่อที่กำหนดด้วยfnเรียกว่าใช้myfn.(param1, param2) มีเพียงฟังก์ชันประเภทที่สองที่ดูเหมือนเป็นวัตถุชั้นหนึ่งและสามารถส่งผ่านเป็นพารามิเตอร์ไปยังฟังก์ชันอื่นได้ fnฟังก์ชั่นที่กำหนดไว้ในความต้องการโมดูลที่จะห่อใน มีน้ำตาลซินแทคติคที่ดูเหมือนotherfunction(myfunction(&1, &2))จะทำให้ง่าย แต่ทำไมมันจำเป็นในตอนแรก? ทำไมเราทำotherfunction(myfunction))ไม่ได้? มันเป็นเพียงเพื่อให้ฟังก์ชั่นการโทรโมดูลโดยไม่ต้องวงเล็บเช่นในทับทิม? ดูเหมือนว่าจะมีการสืบทอดคุณสมบัตินี้จาก Erlang ซึ่งมีฟังก์ชั่นโมดูลและฟังก์ชั่นสนุกด้วยเช่นกันจริง ๆ แล้วมันมาจากวิธีที่ Erlang VM ทำงานภายในหรือไม่ มันมีประโยชน์อะไรบ้างที่มีฟังก์ชั่นสองประเภทและแปลงจากประเภทหนึ่งไปเป็นอีกประเภทหนึ่งเพื่อส่งผ่านไปยังหน้าที่อื่น ๆ ? มีประโยชน์ไหมที่มีเครื่องหมายสองแบบที่แตกต่างกันในการเรียกใช้ฟังก์ชัน?
279 erlang  elixir 

7
ฉันจะกำหนดเวลาให้โค้ดทำงานทุก ๆ สองสามชั่วโมงในกรอบ Elixir หรือ Phoenix ได้อย่างไร
สมมุติว่าฉันต้องการส่งอีเมลจำนวนมากหรือสร้างแผนผังไซต์ขึ้นใหม่หรืออะไรก็ตามทุกๆ 4 ชั่วโมงฉันจะทำเช่นนั้นในฟีนิกซ์หรือแค่กับ Elixir ได้อย่างไร


6
Elixir: ใช้เทียบกับการนำเข้า
อะไรคือความแตกต่างระหว่างuseและimport? การใช้งานเป็นกลไกง่ายๆในการใช้โมดูลที่กำหนดในบริบทปัจจุบัน https://hexdocs.pm/elixir/Kernel.SpecialForms.html#import/2 นำเข้าฟังก์ชันและมาโครจากโมดูลอื่น ๆ ดูเหมือนความแตกต่างอย่างหนึ่งคือimportให้คุณเลือกฟังก์ชัน / มาโครเฉพาะในขณะที่useนำทุกอย่างเข้ามา มีความแตกต่างอื่น ๆ หรือไม่? คุณจะใช้เมื่อใด
139 elixir 

8
คุณตรวจสอบประเภทของตัวแปรใน Elixir อย่างไร
ใน Elixir คุณจะตรวจสอบประเภทเช่นใน Python ได้อย่างไร: >>> a = "test" >>> type(a) <type 'str'> >>> b =10 >>> type(b) <type 'int'> ฉันอ่าน Elixir แล้วมีตัวตรวจสอบชนิดเช่น 'is_bitstring', 'is_float', 'is_list', 'is_map' ฯลฯ แต่ถ้าคุณไม่รู้ว่าควรเป็นประเภทใด
138 elixir 

1
Elixir / Erlang เข้ากับวิธีการของไมโครเซอร์วิสได้ที่ไหน? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เมื่อเร็ว ๆ นี้ฉันได้ทำการทดลองกับนักเทียบท่าเพื่อปรับใช้ไมโครเซอร์วิสที่ทำงานร่วมกันได้หลายตัว ฉันเห็นประโยชน์มากมายที่ไมโครเซอร์วิสมอบให้และตอนนี้มีชุดเครื่องมือที่ดีสำหรับการจัดการแล้วฉันคิดว่ามันไม่ยากเลยที่จะกระโดดเข้าไปในรถบรรทุกขนาดเล็ก แต่ฉันได้ทดลองกับ Elixir ด้วยและฉันก็ค่อนข้างชอบประโยชน์ที่ได้รับจากตัวมันเอง เนื่องจากมันสนับสนุนให้บรรจุรหัสของคุณลงในแอปพลิเคชันที่แยกตัวออกมาหลายตัวและรองรับการอัปเกรดรหัสร้อนคุณจะผสมนักเทียบท่ากับยาอมฤต (หรือ erlang สำหรับเรื่องนั้นอย่างไร) ตัวอย่างเช่นถ้าฉันต้องการใช้นักเทียบท่าเพราะมันมีความเท่าเทียมกันของ dev-prod ยาอมจะเข้ากันได้อย่างไร? เนื่องจากคอนเทนเนอร์นักเทียบท่าไม่เปลี่ยนรูปฉันจึงสูญเสียความสามารถในการอัปเกรดรหัสด่วนใช่ไหม? สิ่งที่เกี่ยวกับการปรับใช้สีน้ำเงิน / เขียวหรือการเผยแพร่ Canary? ฉันหมายความว่าฉันสามารถเขียน microservices ด้วย Elixir และใช้งานได้ราวกับว่ามันถูกเขียนในภาษาอื่น ๆ การพูดหลายภาษาก็เป็นประโยชน์อย่างหนึ่งของ microservices อยู่ดี แต่ฉันก็ไม่ได้รับประโยชน์เต็มที่จากการใช้แพลตฟอร์ม OTP เดาว่าแอปพลิเคชัน Erlang ที่ทำงานร่วมกันอย่างแท้จริงเป็นวิธีที่ดีที่สุดในการใช้คิวกลางเพื่อสื่อสารระหว่างไมโครเซอร์วิสที่เขียนด้วยภาษา (หรือไม่) ที่แตกต่างกัน

4
มีสิ่งใดบ้างที่ Elixir สามารถทำได้ที่ Erlang ทำไม่ได้หรือในทางกลับกัน?
คำถามนี้อยู่ในบริบทของ Beam VM และความสามารถที่มีให้ไม่ใช่ในบริบททั่วไปของสิ่งที่ภาษาทัวริงสมบูรณ์สามารถทำได้ ฉันต้องการลงทุนเวลาเพื่อเรียนรู้ Erlang บริสุทธิ์หรือ Elixir ฉันได้รับความแตกต่างพื้นฐานระหว่างทั้งสองและฉันเอนเอียงไปที่ Elixir เนื่องจากมาโครไวยากรณ์ที่ดีขึ้นและการพัฒนาภาษาที่เร็วขึ้นในทุกวันนี้ คำถามของฉันคือถ้าฉันเลือก Elixir ฉันจะสะดุดกับสิ่งที่ฉันไม่สามารถทำได้ แต่สามารถทำได้ใน Erlang หรือไม่? ฉันสามารถใช้ OTP ทุกอย่างไลบรารี Erlang ทั้งหมดการโหลดโค้ดและอื่น ๆ ด้วย Elixir ได้หรือไม่ ฉันไม่ได้ถามถึงความชอบของใครบางคนระหว่างคนทั้งสอง ข้อเท็จจริงเกี่ยวกับความเป็นไปได้ของภาษา โดยเฉพาะอย่างยิ่งจากผู้ที่ใช้ทั้งในการผลิต
103 erlang  elixir  otp 

3
ประโยชน์ของรายการคำหลักคืออะไร?
ในยาอายุวัฒนะเรามีแผนที่: > map = %{:a => "one", :b => "two"} # = %{a: "one", b: "two"} > map.a # = "one" > map[:a] # = "one" นอกจากนี้เรายังมีรายการคำหลัก: > kl = [a: "one", b: "two"] # = [a: "one", b: "two"] > kl2 = [{:a, "one"},{:b, "two"}] # = [a: "one", …
101 elixir 


3
มี Phoenix เทียบเท่ากับ Rails Console หรือไม่
ฉันเพิ่งเรียนรู้ Phoenix และ Elixir และฉันมาจาก Ruby / Rails ซึ่งฉันทำงานใน REPL pryเพื่อตรวจสอบฐานข้อมูลและสถานะแอปพลิเคชัน ฉันกำลังพยายามหาวิธีโต้ตอบกับฐานข้อมูลและโมเดลของฉันในแอพ Phoenix ฉันรู้iexแต่ฉันไม่รู้วิธีใช้มันตรวจสอบฐานข้อมูลแอปของฉันจากตัวจำลอง ฉันจำเป็นต้องเชื่อมต่อกับ ecto ทุกครั้งจากการจำลองหรือไม่ มีrails consoleเทียบเท่า. ฉันได้ตรวจสอบเอกสาร Phoenix, Elixir Dose และ Ecto repo แล้ว แต่ไม่พบสิ่งที่ต้องการ ฉันพลาดอะไรไปรึเปล่า? แก้ไข: จากคำตอบด้านล่างฉันพบส่วนนี้ของ ecto docs จากสิ่งนี้ฉันสามารถทำสิ่งต่างๆเช่นArticlesApi.Repo.all ArticlesApi.Article

1
ความแตกต่างระหว่างกระบวนการ / ข้อความใน Erlang และวัตถุ / ข้อความใน Smalltalk คืออะไร?
ฉันพยายามที่จะเข้าใจความแตกต่างระหว่างวัตถุ / ข้อความในสมอลล์ทอล์คและกระบวนการ / ข้อความในErlang ผมอ่านโพสต์ต่อไปในหัวข้อ เท่าที่ฉันเข้าใจใน Smalltalk ทุกอย่างเป็นวัตถุและทุกสิ่งมีนามธรรม "วัตถุ / ข้อความ" ที่เป็นนามธรรม - แม้ตัวเลข1จะเป็นวัตถุที่สามารถเข้าถึงได้เมื่อมีการส่งข้อความเท่านั้น คือ1กระบวนการใน Erlang / Elixir หรือไม่? ทุกอย่างใน Erlang เป็นคำตอบของกระบวนทัศน์ข้อความ / โปรแกรมหรือไม่? คุณสามารถส่งข้อความถึงหมายเลขใน Erlang ได้หรือไม่? ขอบคุณมาก.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.