Erlang เป็นวัตถุประสงค์ทั่วไปการเขียนโปรแกรมภาษาพร้อมกันออกแบบโดยอีริคสันห้องทดลองวิทยาศาสตร์คอมพิวเตอร์.
Elixir ใช้ประโยชน์จากคุณสมบัติ Erlang เพื่อสร้างที่ซับซ้อนแบบไดนามิกพร้อมกันสามารถปรับขนาดการใช้งานความผิดพลาดและจัดจำหน่าย.
ยาอายุวัฒนะและ Erlang อย่างใกล้ชิดร่วมกันถักและสามารถจะฝังตัวอยู่ในแต่ละอื่น ๆ นี้เป็นเพราะพวกเขาร่วมกัน bytecode และข้อมูลเดียวกันประเภท
มีอะไรใหม่ ในรุ่นนี้:.
- Erlang 18 สนับสนุน
- นอกจากนี้จากหลายนามแฝง / นำเข้า / จำเป็นต้อง
- การสนับสนุนสำหรับตัวแปรในคีย์แผนที่
- การสนับสนุนสำหรับผู้ประกอบการที่หมุดแผนที่ในคีย์คำสั่งและฟังก์ชั่น
- นอกเหนือจากที่มีรูปแบบพิเศษเพื่อให้ตรงกับการแสดงออกในหลาย ๆ
คืออะไรใหม่ ในรุ่น 1.0.5 / 1.1.0 เบต้า:
- เพิ่มประสิทธิภาพ:
- เพิ่ม Logger.enable / 1 และ Logger.disable / 1
- การเปลี่ยนแปลงที่เข้ากันไม่ได้ย้อนกลับ:
- การสนับสนุนไม่มีอีกต่อไป {: swap_handler, ... } เป็นค่าโทรกลับการกลับมา
- List.unzip / 2 ถูกลบออก
มีอะไรใหม่ ในรุ่น 1.0.4:
- เพิ่มประสิทธิภาพ:
- เพิ่ม Logger.enable / 1 และ Logger.disable / 1
- การเปลี่ยนแปลงที่เข้ากันไม่ได้ย้อนกลับ:
- การสนับสนุนไม่มีอีกต่อไป {: swap_handler, ... } เป็นค่าโทรกลับการกลับมา
- List.unzip / 2 ถูกลบออก
มีอะไรใหม่ ในรุ่น 1.0.0:
- เพิ่มประสิทธิภาพ:
- เพิ่ม Logger.enable / 1 และ Logger.disable / 1
- การเปลี่ยนแปลงที่เข้ากันไม่ได้ย้อนกลับ:
- การสนับสนุนไม่มีอีกต่อไป {: swap_handler, ... } เป็นค่าโทรกลับการกลับมา
- List.unzip / 2 ถูกลบออก
มีอะไรใหม่ ในรุ่น 0.15.1:
- สนับสนุน `: โหมด ack` สำหรับ GenEvent ลำธาร
- สนับสนุน `: ตัวเลือกใน base`` ตรวจสอบ / 2` ให้เลือกฐาน ( `: binary`,`: octal`, `: decimal` หรือ`: hex`) ตัวเลขพิมพ์
- คำเตือนเมื่อใช้พิมพ์? กับตัวละครที่มีรหัสหนี
- เพิ่ม SASL เข้าสู่ระบบตัวเลือกในการส่งต่อ Logger
- เพิ่ม `$ padlevel` ไปที่ตัวเลือกการจัดรูปแบบ Logger
- แบ็กเอนด์ได้รับค่าจัดการที่แน่นอนเมื่อเข้ามาช่วยให้คีย์ที่จะผ่านการกำหนดค่าสำหรับการค้นหา
- เพิ่ม `Logger.flush / 0` เพื่อล้าง Logger (มีประโยชน์สำหรับการทดสอบ)
- ยืนยันแบ็กเอนด์เพิ่มแบบไดนามิกหรือถูกลบออกผ่าน `add_backend / 2` และ` remove_backend / 2`
- เพิ่ม `Macro.validate / 1` เพื่อตรวจสอบซ้ำถ้ามีค่าคือการแสดงออกที่ถูกต้องยกมา
- ผสมโหลด deps เฉพาะเมื่อมีความจำเป็นต้องใช้พวกเขา (ซึ่งช่วยเพิ่มเวลาส่วนใหญ่ของงานในโครงการผสม)
- ตรวจสภาพแวดล้อมอย่างชัดเจนในข้อความที่สร้างความสำเร็จหลังจาก `escript.build` ถูกเรียก
- โหลด `config / config.exs` ภายใน escripts
- ร้านค้าและตรวจสอบความต้องการ Elixir รุ่นที่เก็บสร้าง
มีอะไรใหม่ ในรุ่น 0.14.3:
- สนับสนุนความแม่นยำใน `Float.ceil / 1` และ `Float.floor / 1`
- เพิ่ม `IO (Bin) อ่าน (อุปกรณ์: ทั้งหมด).`
- พิมพ์คำเตือนถ้าห้อย `ข้อ @ doc` พบ
- ยานเชื่อมโยงสัญลักษณ์แน่นอนใน Windows สำหรับ `_build` แทนการคัดลอก
- เพิ่ม `Mix.compilers` คอมไพเลอร์ที่ส่งกลับทั้งหมดเริ่มต้นใช้งานโดยการผสม
- เตือนฉบับและการตั้งค่า mtime สำหรับไฟล์ที่มาจากอนาคต
- นามแฝงงานสนับสนุนในการผสม
- เพิ่ม `OptionParser.split / 1` ที่แยกสตริงเข้า argv
- อนุญาตให้บันทึกจะถูกแปลงเป็นรายการคำหลักที่มีการบันทึก `(some_record)`
- ปรับปรุงประสิทธิภาพของ `String.split / 1`
- อนุญาต `% โครงสร้าง {}` ไวยากรณ์ที่จะใช้ใน typespecs
- อนุญาตให้บันทึก `(: บันทึกสาขา)` ไวยากรณ์ที่จะใช้ใน typespecs
มีอะไรใหม่ ในรุ่น 0.14.0:
- เพิ่มประสิทธิภาพ:
- เพิ่ม `on_exit / 1` เรียกกลับที่รับประกันว่าจะทำงานทันทีที่ออกจากกระบวนการทดสอบและการเสมอในการดำเนินการอื่น
- เอกสาร Store ในรหัสนามธรรมเพื่อหลีกเลี่ยงการโหลดโมดูลพวกเขาเมื่อมีการโหลด
- เพิ่ม `get_in / 2`` put_in / 3` `update_in / 3` และ` get_and_update_in / 3` ในการจัดการการดำเนินงานโครงสร้างข้อมูลที่ซ้อนกัน
- เพิ่ม `get_in / 1`` put_in / 2` `update_in / 2` และ` get_and_update_in / 2` ในการจัดการการดำเนินงานโครงสร้างข้อมูลที่ซ้อนกันผ่านเส้นทาง
- เพิ่ม `Mix.Config` เพื่อบรรเทาความหมายของแฟ้มการกำหนดค่า
- เพิ่ม `งาน loadconfig` ผสมที่สามารถเรียกว่าหลายครั้งที่จะโหลด configs ภายนอก
- สนับสนุนเลือก `` --config` บนผสม run`
- สนับสนุน `` HTTP_PROXY` และ HTTPS_PROXY` คำสั่ง URL ผสม
- การสนับสนุนตัวเลือก `` --names` ในผสม help` ที่ปล่อยเฉพาะชื่อ (มีประโยชน์สำหรับการเติมข้อความอัตโนมัติ)
- เพิ่ม `Protocol.consolidate / 2`` Protocol.consolidated? / 1` และ `ผสมงาน compile.protocols` โปรโตคอลสำหรับการรวม
- เพิ่ม `Protocol.derive / 3` สำหรับสืบมารันไทม์ของ struct
- เพิ่ม `String.chunk / 2`
- เพิ่มการสนับสนุนสำหรับ `@ derive` ก่อน` defstruct / 2` คำจำกัดความ
- แก้ไขข้อผิดพลาด:
- `File.rm` ในขณะนี้อย่างต่อเนื่องการลบอ่านอย่างเดียวในระบบปฏิบัติการ
- ตรวจสอบให้แน่ใจ Mix `โครงสร้าง _build` ทำงานบน Windows เมื่อคัดลอกโครงการ
- ตรวจสอบให้แน่ใจ `1.0E10` (ที่มีตัวพิมพ์ใหญ่ E) ยังเป็นไวยากรณ์ที่ถูกต้อง
- คง `ผสมงาน do` สำหรับ Windows 'ผู้ใช้ PowerShell
- คง `Path.absname (& quot; / & quot;)` และ `Path.expand (& quot; / & quot;)` เพื่อกลับเส้นทางแน่นอน `& quot; / & quot;.`
มีอะไรใหม่ ในรุ่น 0.13.0:
- เพิ่มประสิทธิภาพ:
- เพิ่มโมดูล `Base` ซึ่งจะแปลงฐาน 16, 32, hex32 64 และ url64
- เพิ่ม `Code.eval_file / 2`
- เพิ่มคำว่า `Collectable` โปรโตคอลที่จะช่วยให้` Enum.into / 2` และ `Stream.into / 2` และ`: ตัวเลือก into` ใน comprehensions
- ดำเนิน `Collectable` สำหรับรายการ dicts, bitstrings หน้าที่และให้ทั้ง` `File.Stream` และ IO.Stream`
- เพิ่ม `handle_body / 1` โทรกลับจะ` EEx.Engine`
- เพิ่ม `Enum.group_by / 2`` Enum.into / 2` `Enum.into / 3`` Enum.traverse / 2` และ `Enum.sum / 2`
- Randomize กรณีและการทดสอบชุดวิ่งช่วยให้การกำหนดค่าเมล็ดพันธุ์และ `ธง --seed` ผ่าน` ผสม test`
- สนับสนุน `` ERL_PATH` ใน bin / elixir`
- การสนับสนุนการแก้ไขในไวยากรณ์คำหลัก
- เพิ่มโมดูลแผนที่และสนับสนุน 17.0 แผนที่และ structs
- เพิ่มตัวเลือกการพึ่งพา `: only` เพื่อระบุสภาพแวดล้อมการพึ่งพา `ผสม deps.get` และ` ผสม deps.update` ทำงานข้ามสภาพแวดล้อมทั้งหมดเว้นแต่ `--only` ระบุไว้
- เพิ่ม `Mix.Shell.prompt / 1`
- ตรวจสอบให้แน่ใจโครงการจะรวบรวมใน CLI กรณี Mix 'ไม่สามารถหางาน
- เพิ่ม `Node.ping / 1`
- แก้ไขข้อผิดพลาด:
- ตรวจสอบให้แน่ใจ `--app` มีการจัดการเป็นอะตอมก่อนประมวลผล
- ตรวจสอบให้แน่ใจ `ExUnit.Assertions` ไม่ปล่อยคำเตือนคอมไพเลอร์สำหรับ` assert_receive`
- ตรวจสอบให้แน่ใจ pid เดียวกันไม่ได้จัดคิวสองครั้งในคอมไพเลอร์ขนาน
- `Macro.to_string / 2` พิจารณาลำดับความสำคัญที่เหมาะสมเมื่อแปล` (Foo & # x3e; บาร์)! `เป็นสตริง
- คอมไพล์โดยอัตโนมัติในรุ่นยาอายุวัฒนะที่ล้าสมัยและแสดงข้อความผิดพลาดที่เหมาะสม
- ตรวจสอบให้แน่ใจสร้างแฟ้ม `.app` รวมถึงการอ้างอิงหลัก
- อนุญาตให้มีการพึ่งพาไม่มี SCM เพื่อแทนที่
ใหม่ ในรุ่น 0.12.4 อะไร:
- `ผสม deps.get` และ` deps ผสม .update` ไม่รวบรวมอ้างอิงในภายหลัง.
มีอะไรใหม่ ในรุ่น 0.12.2:
- เพิ่ม Stream.transform / 3
- เพิ่ม Enum.flat_map_reduce / 3
- สนับสนุน @moduletag ในกรณี ExUnit
- stacktraces ปรับปรุงที่จะเทียบกับเส้นทางการรวบรวมและรวมถึงการประยุกต์ใช้ที่เกี่ยวข้อง
- อนุญาต EEx.AssignsEngine จะยอมรับ Dict ใด ๆ
มีอะไรใหม่ ในรุ่น 0.12.1:
- สนับสนุน `: include` และ`: exclude` ตั้งค่าตัวเลือกในการกรองซึ่งการทดสอบควรจะทำงานอยู่บนพื้นฐานของแท็กของพวกเขา ตัวเลือกเหล่านั้นได้รับการสนับสนุนผ่าน `ผสม test` เป็น` `--include` และ --exclude`
- อนุญาต doctests เพื่อให้ตรงกับ `# MyModule & # x3c; & # x3e;`
มีอะไรใหม่ ในรุ่น 0.12.0:
- อนุญาตการยกเว้น / 1 ที่จะ overriden และส่งเสริมมัน เป็นกลไกหลักในการปรับแต่งข้อยกเว้น
- เพิ่ม File.stream_to! / 3
- เพิ่ม Float.floor / 1, Float.ceil / 1 และ Float.round / 3
- เพิ่ม List.delete_at / 2 และ List.updated_at / 3
- เพิ่ม Enum.reverse / 2
- Implement defmodule / 2 @ / 1, def / 2 และเพื่อน ๆ ในยาอายุวัฒนะตัวเอง กรณี / 2 ลอง / 2 และรับ / 1 ได้รับการทำรูปแบบพิเศษ var! / 1, var! / 2 และนามแฝง! / 1 ยังได้รับการดำเนินการในยาอายุวัฒนะและลดระดับจากรูปแบบพิเศษ
- สนับสนุนเขตข้อมูลแบบไดนามิกใน defrecordp
- เพิ่ม Stream.resource / 3
ความคิดเห็นที่ไม่พบ