LINUX.ORG.RU

Суперфича! Встроенные 26-ти битные числа большой длины с оператором инкремента. Правда с отношением порядка проблемы и нет декремента, но это же PHP, мартышкам не привыкать.

baverman ★★★
()
Ответ на: комментарий от baverman
php > for ($i='a'; $i<='z'; $i++) {echo "$i ";}
a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc bd be bf bg bh bi bj bk bl bm bn bo bp bq br bs bt bu bv bw bx by bz ca cb cc cd ce cf cg ch ci cj ck cl cm cn co cp cq cr cs ct cu cv cw cx cy cz da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv dw dx dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et eu ev ew ex ey ez fa fb fc fd fe ff fg fh fi fj fk fl fm fn fo fp fq fr fs ft fu fv fw fx fy fz ga gb gc gd ge gf gg gh gi gj gk gl gm gn go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu hv hw hx hy hz ia ib ic id ie if ig ih ii ij ik il im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke kf kg kh ki kj kk kl km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg lh li lj lk ll lm ln lo lp lq lr ls lt lu lv lw lx ly lz ma mb mc md me mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw nx ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot ou ov ow ox oy oz pa pb pc pd pe pf pg ph pi pj pk pl pm pn po pp pq pr ps pt pu pv pw px py pz qa qb qc qd qe qf qg qh qi qj qk ql qm qn qo qp qq qr qs qt qu qv qw qx qy qz ra rb rc rd re rf rg rh ri rj rk rl rm rn ro rp rq rr rs rt ru rv rw rx ry rz sa sb sc sd se sf sg sh si sj sk sl sm sn so sp sq sr ss st su sv sw sx sy sz ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ua ub uc ud ue uf ug uh ui uj uk ul um un uo up uq ur us ut uu uv uw ux uy uz va vb vc vd ve vf vg vh vi vj vk vl vm vn vo vp vq vr vs vt vu vv vw vx vy vz wa wb wc wd we wf wg wh wi wj wk wl wm wn wo wp wq wr ws wt wu wv ww wx wy wz xa xb xc xd xe xf xg xh xi xj xk xl xm xn xo xp xq xr xs xt xu xv xw xx xy xz ya yb yc yd ye yf yg yh yi yj yk yl ym yn yo yp yq yr ys yt yu yv yw yx yy yz 

Я смутно догадываюсь, что ТС хотел вывести алфавит. Но зачем так?

strangeman ★★★★
()
Ответ на: комментарий от strangeman

Я смутно догадываюсь, что ТС хотел вывести алфавит.

Ты нихрена не понял. Или, если такой результат не вызывает когнитивный диссонанс, то у меня плохие новости, ты — похапешник (латентный, если еще не).

baverman ★★★
()
Ответ на: комментарий от baverman

Я нихрена не понял. ТС захотел странного странным способом и решил задачу в лоб, удивившись, почему не работает. Проблема квалификации, не языка.

strangeman ★★★★
()
Ответ на: комментарий от baverman

Да, отличный. Тут можно задетектить подобных быдлокодеров как ты или ТС, которые неверно пытаются решать задачу и говорят, что виноват php.

mopsene ★★★
()

Очевидное решение:

 for ($i = 'a'; $i != 'aa'; $i++) {
     echo "$i ";
 }

anonymous
()
Ответ на: комментарий от baverman

Hint2: Попробуй перенести это на сишечку.

Ты пытаешься решить задачу одним и тем же способом в абсолютно разных языках.

ТС вот чего хотел:

for ($i = ord('a'); $i <= ord('z'); $i++)
	echo chr($i) . " ";

resurtm ★★★
()
Ответ на: комментарий от mopsene

Если назовешь еще один язык с таким поведением, ты победил.

Или можешь объяснить такое поведение с точки зрения смысла, про логику я просто молчу? Зачем кто-то из авторов интерпретатора писал код (!!!) для обработки именно такого частного случая?

Заботливо расставленные грабельки это так мило, хе-хе.

baverman ★★★
()
Ответ на: комментарий от baverman

Встроенные 26-ти битные числа большой длины с оператором инкремента.

Hint: это у него строка, а не число. И сравнение работает так как и должно работать у строк.

resurtm ★★★
()
Ответ на: комментарий от baverman

О гуру, вы говорите загадками. Может быть уже поведаете нам, непросвещенным, что хотели сказать?

anonymous
()
Ответ на: комментарий от resurtm

Ты пытаешься решить задачу

Гм, очень показательно что поциенты увидели в посте личинку задачи. Вас уже трое. Скоро палата будет укомплектована.

baverman ★★★
()
Ответ на: комментарий от anonymous

Может быть уже поведаете нам, непросвещенным, что хотели сказать?

PHP говно, очевидно.

baverman ★★★
()
Ответ на: комментарий от baverman

Допиши еще в профиль «Диагноз: илитизм головного мозга».

anonymous
()
Ответ на: комментарий от baverman

Гм, очень показательно что поциенты увидели в посте личинку задачи. Вас уже трое. Скоро палата будет укомплектована.

Javascript, наверное, по твоей логике тоже говно. А чего?! Разработчики-то сделали его непохожим на Си! Ух какие плохие!

resurtm ★★★
()
Ответ на: комментарий от resurtm

Не, он прав, php и js действительно говно, но не из-за «непохожести на си», а из-за того, что там тысячи подводных камней.

anonymous
()

Разработчики на JS тупые идиоты!!! Они ведь пишут на таком гавне!!!

alert((function() {
  var x = 1;
  return
    x;
})());

PS: ирония.

resurtm ★★★
()
Ответ на: комментарий от baverman

Если назовешь еще один язык с таким поведением, ты победил.

Сцуко, в перле тоже самое. Интересно как там с декрементом.

baverman ★★★
()
Ответ на: комментарий от resurtm

Разработчики-то сделали его непохожим на Си! Ух какие плохие!

Вывод неверный. Я на Си не пишу.

baverman ★★★
()
Ответ на: комментарий от anonymous

Не, он прав, php и js действительно говно, но не из-за «непохожести на си», а из-за того, что там тысячи подводных камней.

По такой логике, к примеру, и Си++ — говно. Да и вообще, почти все языки. Undefined behaviors (над которыми и ржут необоснованно) существуют везде.

resurtm ★★★
()
Ответ на: комментарий от baverman
$ perl -e 'print for a..z'
abcdefghijklmnopqrstuvwxyz

0_o что «то же самое»? Тут как раз всё ок - 26 буковок вывели и успокоились.

helios ★★★★★
()
Ответ на: комментарий от resurtm

Undefined behaviors (над которыми и ржут необоснованно) существуют везде.

Назови в питоне.

Си++ — говно.

Так и есть. И си тоже говно низкоуровневое.
Да и вообще всё говно, кроме мочи. (с)

anonymous
()
Ответ на: комментарий от resurtm

Undefined behaviors (над которыми и ржут необоснованно) существуют везде.

Типа, во всех квартирах есть пыль, поэтому в моем срачельнике тоже можно жить. Это прекрасно. Я же говорю — диагноз.

baverman ★★★
()
Ответ на: комментарий от baverman

Специальный оператор инкремента подмножества символов.

Кто camel book читал, об этом знает.

helios ★★★★★
()
Ответ на: комментарий от anonymous

Да и вообще всё говно, кроме мочи. (с)

Ну тогда надо сесть на стул, надуть щёки и ничего не делать, всё равно ведь всё говно. :-)

resurtm ★★★
()
Ответ на: комментарий от baverman

в моем срачельнике

В срачельнике говнокодеров.

По меньшей мере глупо утверждать, что полностью весь codebase на C++, JS или PHP — сплошное говно.

resurtm ★★★
()
Ответ на: комментарий от resurtm

Так что там с питоном? :3

Ну тогда надо сесть на стул, надуть щёки и ничего не делать, всё равно ведь всё говно. :-)

Нет, зачем? Можно ковыряться в говне. Тащем-то ничего больше и не остается.

anonymous
()
Ответ на: комментарий от resurtm

Навязчивые идеи, поиск глубинного смысла? Завязывайте, а то скоро собеседник не будет нужен.

baverman ★★★
()
Ответ на: комментарий от resurtm

полностью весь codebase на C++, JS или PHP — сплошное говно.

зачем писать хорошие вещи на плохом языке? :)

true_admin ★★★★★
()
Ответ на: комментарий от strangeman

Может оно для хекса так? Типа 'FA' ++ есть 'FB'. Если смотреть на это как на 27 разрядную СС, то такой инкремент строки как-то логичен.

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

Может оно для хекса так?

OMG! Хватит тут мракобесие разводить.

for ($i='a'; $i<='z'; $i++)

Вся фишка тут в условии останова: за неимением оператора le (сравнение строк less or equal в _лексикографическом_порядке_), в php используется <= и для строк. В итоге, что мы имеем: с 'a' до 'z' мы дошил - тут, думаю, вопросов нет. На 'z' - оно ещё равно 'z' - естественно! — поехали дальше. Тут разряд увеличился - получили 'aa', но ведь это в _лексикографическом_порядке_ меньше 'z' — едем дальше... И только z* ('za') оказывается больше 'z' — стоп машина!

helios ★★★★★
()
Ответ на: комментарий от helios

Да я не о том, это то понятно, я пытаюсь понять логику инкремента строки.

Kalashnikov ★★★
()

just use ruby, luke:

irb(main):001:0> for c in 'a'..'z'
irb(main):002:1> puts c
irb(main):003:1> end
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
=> "a".."z"
irb(main):004:0> 
drakmail ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.