1. Lua / Говнокод #25272

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    -- Pipe Elbow ****************************************************************************
    pipe_elbow = util.table.deepcopy(data.raw["storage-tank"]["storage-tank"])
    pipe_elbow.name = "pipe-elbow"
    pipe_elbow.icon = "__Flow Control__/graphics/icon/pipe-elbow.png"
    pipe_elbow.minable = data.raw["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"].minable
    pipe_elbow.corpse = "small-remnants"
    pipe_elbow.max_health = data.raw["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"].max_health
    pipe_elbow.resistances = data.raw["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"].resistances
    pipe_elbow.fast_replaceable_group = data.raw["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"].fast_replaceable_group
    pipe_elbow.collision_box = data.raw["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"].collision_box
    pipe_elbow.selection_box = data.raw["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"].selection_box

    Пип Еблов.
    Factorio mod Flow Control_3.0.3
    --Завышеное ЧСВ или самолюбование?

    Запостил: TOPT, 04 Января 2019

    Комментарии (26) RSS

    • >["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]["pipe"]
      Целый трубопровод.
      Ответить
    • ты питух и пиздабол. я скачал мод. нету там такого. лови защекоин:
      -- Pipe Elbow ****************************************************************************
      pipe_elbow = util.table.deepcopy(data.raw["storage-tank"]["storage-tank"])
      pipe_elbow.name = "pipe-elbow"
      pipe_elbow.icon = "__Flow Control__/graphics/icon/pipe-elbow.png"
      pipe_elbow.minable = data.raw["pipe"]["pipe"].minable
      pipe_elbow.corpse = "small-remnants"
      pipe_elbow.max_health = data.raw["pipe"]["pipe"].max_health
      pipe_elbow.resistances = data.raw["pipe"]["pipe"].resistances
      pipe_elbow.fast_replaceable_group = data.raw["pipe"]["pipe"].fast_replaceable_group
      pipe_elbow.collision_box = data.raw["pipe"]["pipe"].collision_box
      pipe_elbow.selection_box = data.raw["pipe"]["pipe"].selection_box
      Ответить
      • Да я питух и пиздабол. Но это не исключает факта одного.
        Чому синтаксис так скачет data.raw["pipe"]["pipe"].fast_replaceable_group
        Почему не data["raw"]["pipe"]["pipe"]["fast_replaceable_group"]?
        Почему не data.raw.pipe.pipe.fast_replaceable_grou p?
        Причем если глянуть то во всех модах которые я глянул такая хуита.
        Это как писать _G["_G"]._G["_G"]._G._G["_G"]._G["_G"]._G._G["_G"]["_G"]["_G"]._G["_G"]._G._G["_G"]._G._G["_G"]._G["_G"]._G["_G"]._G
        Удобно и привлекательно а главное читаемо.
        Ответить
        • Иди["еби"].свою["мать"].а["я"].за["PHP"]
          Ответить
        • >> Чому синтаксис так скачет data.raw["pipe"]["pipe"].fast_replaceable_group
          все дело в том, как описана таблица data.raw: https://wiki.factorio.com/Data.raw#pipe
          в ней есть некоторые ключи, которые нельзя в коде отобразить. например produce-achievement, луа будет интерпретировать data.raw.produce-achievement как вычитание
          data.raw.produce - achievement
          . потому вcе, что добывается из data.raw по конвеншну тянется через индексатор [].
          а
          fast_replaceable_group
          это уже конкретное проперти з класса entity: https://wiki.factorio.com/Prototype/Entity. потому и юзается как проперти.
          Ответить
          • показать все, что скрытоvanished
            Ответить
          • Если разрабтчку так хотелось через дефис делать, то сделал бы для этого метатаблицу, чтоб produce-achievement отрабатывало нормально.
            Да жействительно странное решение делать наименование через дефисы
            Ответить
            • Замечу что в "Forth" в словах можно использовать любые непробельные символы.
              Ответить
              • Замечу, что в "PHP" вообще никаких символов нет:
                <?php ${"☑data.raw.produce –— achievement\r\n"} = 'Привет';
                echo ${"☑data.raw.produce –— achievement\r\n"};


                https://ideone.com/YhiBgw
                Ответить
                • P.S. Угадайте (не подглядывая в документацию), что в "PHP" делает конструкция $$x.
                  Ответить
                  • Я видал этот трюк, получить значение пельменной имя которой хранится в пельменной x.
                    Ответить
                  • А можно $"foo_$bar"?
                    Ответить
                  • В "TCL" так нельзя, зато можно так:
                    set tux ts
                    pu$tux Превет)
                    Ответить
                • В "gforth" есть нестандартное слово "header," для создания определения из строки:
                  s" ☑data.raw.produce –— achievement\r\n" header, 
                  (:noname) s" Привет" ;
                  
                  :noname  c" ☑data.raw.produce –— achievement\r\n" find drop execute type ; execute cr cr
                  Можно определить специальный синтаксис для всего этого:
                  : :"  [char] " parse header, (:noname) ;
                  : find"  [char] " parse dup here c! here char+ swap cmove here find ;
                  : get"  find" 0= abort" error" execute ;
                  
                  :" My favourite programming language"  s" Forth" ;
                  
                  get" My favourite programming language" type
                  https://ideone.com/pj88aZ
                  Ответить
                • Именно поэтому я за "PHP".
                  Ответить
    • Невкусно, слишком много крема.
      Ответить
    • Ты луашник, да?
      Ответить

    Добавить комментарий