Aynı sembol üzerinde birden çok kez kullanmak gerekir mi?


11

requireİdempotent? yani yap

(require 'helm)

ve

(require 'helm)
(require 'helm)

aynı sonuç ile biter?

Yanıtlar:


14

Evet. Gönderen Adlandırılan Özellikleri (vurgu benim):

Özellik adı, işlevler, değişkenler, vb. Koleksiyonunu temsil eden bir semboldür. Bunları tanımlayan dosya özelliği sağlamalıdır. Bunları kullanan başka bir program, özellik gerektirerek tanımlanmalarını sağlayabilir. Bu, önceden yüklenmemişse tanımların dosyasını yükler.

Bir özelliğin varlığını gerektirmek için require, özellik adını bağımsız değişken olarak arayın . istenen özelliğin önceden sağlanmış olup olmadığını görmek requireiçin genel değişkeni arar features. Değilse, özelliği uygun dosyadan yükler . Bu dosya , özelliği eklemek için en üst düzeyde çağrı yapmalıdırprovide ; o eğer bunu başaramazsa, bir hata sinyali .featuresrequire


Dokümanları alıntılamak için kabul edildi.
PythonNut

Lütfen Gilles'in cevabındaki bilgileri buraya ekleyin. Veya @Gilles, bu cevabı sizinkine koymak da işe yarayacaktır.
daveloyall

13

Evet, kodun çağırması gereken kurala uyması helm.elveya helm.elcuyması şartıyla (provide 'helm). Arama (provide 'helm), sembolü yüklü bir özellikhelm olarak işaretler ve bu ikinci aramanın hiçbir şey yapmamasına neden olur .(require 'helm)

Çağırmaz yüklü paket halinde provideo zaman requirebir hata sinyali ve yüklü olarak ikinci bir çağrı için çok özellik, işaretlenmemiş (require 'helm)(aynı nedenle tekrar ve tipik başarısız) tekrar yüklenmesini kalkışabilir.


+1 Ek bilgi için teşekkürler. Dokümanları okuduktan sonra kafa karışıklığımı çözdü.
PythonNut
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.