Bir vektör / matristeki iki öğenin değiştirilmesi Octave'de çok basittir:
x='abcde';
x([4,1])=x([1,4])
x =
dbcae
Ne yazık ki, bunu anonim bir işlev içinde yapmanın bir yolunu bulmadım. Aşağıdaki işlev sözdizimsel olarak doğru olsa da, tüm x
vektörü değil, yalnızca değiştirilen iki öğeyi geri verir :
f=@(x)(x([4,1])=x([1,4]))
f(x)
ans =
ad
Anonim işlevleri golf olarak kullanarak istenen davranışı elde etmenin bir yolu var mı? Anonim bir işlev kullanılarak birkaç öğe bu şekilde değiştirilebilir mi?
Ben olabilir bir indeksleme vektör oluşturun: f=@(x)x([4,2,3,1,5])
ama oluştururken böyle bir vektör dinamik olasılıkla çok bayt bir çok alacaktır.
İlgili meta yayın .
—
Stewie Griffin