Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Странное поведение Boolean (http://www.flasher.ru/forum/showthread.php?t=214022)

Bletraut 31.03.2017 20:47

Цитата:

Сообщение от СлаваRa (Сообщение 1199973)
Код AS3:

d = a + int(c)*b;


Собственно я так и сделал, просто думал вдруг есть вариант без явного приведения.

KBAC 31.03.2017 23:12

d = c ? a + b : a;

Читается как "d равно если с, то a плюс b, иначе а"

d = a + int(c)*b;
Читается как "d равно a плюс результат приведения с к инту умноженный на b"

И где теряется читаемость?

Bletraut 01.04.2017 01:03

Цитата:

Сообщение от KBAC (Сообщение 1199979)
d = c ? a + b : a;

Читается как "d равно если с, то a плюс b, иначе а"

d = a + int(c)*b;
Читается как "d равно a плюс результат приведения с к инту умноженный на b"

И где теряется читаемость?

Удобочитаемость это больше визуальное восприятие.

Например гораздо легче прочитать:

Код AS3:

function getNames(i:int):String
{
    switch(i)
    {
        case 1:
            return "John";
        break;
        case 2:
            return "Em";
        break;
        case 3:
            return "Martin";
        break;
        default:
            return "Cock";
        break;
    }
}

или

Код AS3:

function getNames(i:int):String
{
    var names:Array = ["John", "Em", "Martin"];
    var defName:String = "Cock";
 
    return (i < names.length) ? names[i] : defName;
}

Чем:
Код AS3:

function getNames(i:int):String { return (i == 1) ? "John" : (i == 2) ? "Em" : (i == 3) ? "Martin" : "Cock"; }


СлаваRa 01.04.2017 01:06

развейте ваш switch до 500 кейсов

callme 01.04.2017 11:06

Красивый пример умножения числа на булево:
Код AS3:

зарплата = оклад
    + квартальнаяПремия * положенаКвартальнаяПремия
    + премияЛучшемуМенеджеру * лучшийМенеджер
    + премияПьющимМолоко * пьетМолоко;



Часовой пояс GMT +4, время: 10:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.