Tantangan: Tulis makefile, yang akan mengarah pada perilaku ini:
% make me a sandwich
What? Make it yourself
% sudo make me a sandwich
Okay
Aturan:
- Harus bekerja pada mesin Linux, di mana pengguna tidak melakukan root tetapi diizinkan untuk menggunakan
sudo
. - Tidak boleh mengatakan
Okay
perintah make yang lebih pendek (missudo make sandwich
.). - Perintah kedua harus bekerja karena
sudo
, bukan karena doa kedua.
Pedoman:
- Tetap singkat (bagaimanapun juga, ini adalah situs Golf Code).
- Akan lebih baik jika itu benar-benar membuat sandwich.
- Cobalah untuk menyembunyikan dengan cerdik mengapa
sudo
ada perbedaan.
Pemenang akan ditentukan oleh suara.
popularity-contest
ugoren
sumber
sumber
make
.Jawaban:
Oke, saya akan gigit. Ini tidak selalu mematuhi pedoman # 3, tetapi melakukan pekerjaan yang adil pada dua pedoman lainnya. Ini juga membersihkan setelah itu sendiri, sebagaimana pembuat sandwich yang baik seharusnya.
(Kurang buggy, dan mudah-mudahan sedikit kurang membosankan, daripada pengajuan awal saya.)
sumber
sudo make me sandwich
.&& test -e ./a
Solusi yang cukup ringkas yang mengabaikan pedoman # 2 (127 karakter, termasuk beberapa spasi putih yang tidak perlu). Saya mengikuti praktik breadbox untuk membersihkan diri sendiri. Jangan letakkan file lain di direktori yang sama dengan makefile! Perhatikan juga bahwa makefile harus dipanggil
Makefile
, nama lain tidak akan berfungsi.Pemakaian:
Saya suka cara yang satu ini berkaitan dengan pedoman # 3. Hanya satu tekan saja yang Shiftmembuat perbedaan.
sumber
Solusi ini tidak mematuhi pedoman # 2 - atau tidak jelas berbentuk sandwich? Saya pergi pada semacam tema palindrome di awal, tetapi saya hanya bisa menemukan begitu banyak cara untuk membuat garis simetris tanpa menggunakan lumpuh
real code # ecod laer
. Saya tidak menganggap serius panduan # 1, estetika lebih utama.Ingat bahwa itu adalah makefile; 3 baris berturut-turut dimulai dengan
if
,rm
danecho
mulai dengan tab. Garis lekukan lainnya dimulai dengan spasi.Penggunaan (perintah dapat dikeluarkan dalam urutan apa pun):
Adapun pedoman # 3, ini tidak disembunyikan dengan cerdik, hanya sedikit aneh. Beberapa petunjuk:
sumber
Ini adalah langkah pertama menggunakan teknik yang berbeda dan lebih sederhana:
Saya cukup yakin ada lebih banyak yang dapat saya lakukan dengan ini - mendapatkannya untuk menanggapi perintah input lainnya misalnya. Saya harus bekerja pada kebingungan root switch dan pembuatan sandwich yang sebenarnya.
sumber