Bu, 1-10 arasındaki çıktıları alır. Bu neden bu kadar özlü? Ve başka ne yapabilirsin?Ruby'deki özellik, 1-10 sayılarını yazdırmak için "p * 1..10" 'ya izin veriyor?
5
A
cevap
13
"Uyarılar" operatörüdür. Dizileri ve aralıkları patlatmak ve ödev sırasında değerleri toplamak için kullanılabilir. Burada
Atamadaki değerleri toplanır:
a = [1,2, *[3,4]]
=> a = [1,2,3,4]
: Bu örnekte,
a, *b = 1,2,3,4
=> a = 1
b = [2,3,4]
iç dizisi ([3,4]
bir) ihtiva eden diziye parçalara ayrılmış ve toplanan değerler Bağımsız değişkenleri toplayan işlevleri tanımlayabilirsiniz:
def foo(*args)
p args
end
foo(1,2,"three",4)
=> [1,2,"three",4]
8
iyi:
require pp
oldukça-yazdırma işlevinip
ithal varargs ile oldukça baskı yöntemi, oldukça baskılar*
içine argüman genişletme" anlamına gelir, her bir argümandır varargs "Tek bir argüman olarak davranmak yerine- 1. 010
Bu, bunu yeterince açıklıyor mu? Değilse, lütfen hangi bitin kafa karıştırıcı olduğunu açıklayın.
+0
+1 for ac 50K mark olarak tezahürat ve purty cevapları ... –
Neden bu durum reddedildi? Cevabım, OP'nin kafa karıştırıcı olduğunu bilmediğim gerekçesiyle herhangi bir yönüyle ayrıntıya girmedi, ancak bu, splat operatörü için harika. –