向SVG添加类

时间:2018-11-22 16:25:12

标签: ruby-on-rails ruby svg webpacker

我已经用Webpacker替换了Asset Pipeline,但是我正在寻找一种整洁的方式将svg文件内嵌而不是作为图像插入。

我已经编写了一个小的辅助文件$set n 10 set j /0*%n%/; sets jlast(j) jnotlast(j); jlast(j)$(ord(j)=card(j))=yes; jnotlast(j)=not jlast(j); scalar n number of intervals /%n%/ m mass /5000/ S surface /21.55/ CD0 drag /0.023/ k ni idea /0.073/ hmax initial height /1000/ g gravity /9.81/ density density /1.225/ variable gamma(j), CL(j), D(j), CD(j), L(j), gamma_med(j), CL_med(j), D_med(j), CD_med(j), L_med(j), objective; positive variable x(j), y(j), v(j), x_med(j), y_med(j), v_med(j), step; equation diffx(j), diffy(j), diffx_central(j), diffy_central(j), valueD(j), valueL(j), valueD_central(j), valueL_central(j), obj; diffx[j]$(jnotlast(j)).. x[j+1]-x[j] =e=(1/6)*step*(v(j+1)*cos(gamma(j+1)) + v(j)*cos(gamma(j)) + 4*v_med(j+1)*cos(gamma_med(j+1)) ); diffy[j]$(jnotlast(j)).. y[j+1]-y[j] =e=(-1)* (1/6)*step*(v(j+1)*sin(gamma(j+1)) + v(j)*sin(gamma(j)) + 4*v_med(j+1)*sin(gamma_med(j+1)) ); diffx_central[j]$(jnotlast(j)).. x_med[j+1] =e=0.5*(x(j+1)+x(j)+(step/8)*(v_med(j)*cos(gamma_med(j)))-(v_med(j+1)*cos(gamma_med(j+1)))); diffy_central[j]$(jnotlast(j)).. y_med[j+1] =e=0.5*(y(j+1)+y(j)+(step/8)*(v_med(j)*sin(gamma_med(j)))-(v_med(j+1)*sin(gamma_med(j+1)))); valueD[j].. m*g*sin(gamma(j))=e=0.5*density*S*v(j)*v(j)*(CD0+k*CL(j)*CL(j)); valueL[j].. m*g*cos(gamma(j))=e=0.5*density*S*v(j)*v(j)*CL(j); valueD_central[j].. m*g*sin(gamma_med(j))=e=0.5*density*S*v_med(j)*v_med(j)*(CD0+k*CL_med(j)*CL_med(j)); valueL_central[j].. m*g*cos(gamma_med(j))=e=0.5*density*S*v_med(j)*v_med(j)*CL_med(j); obj .. objective =e= x('%n%'); x.fx('0') = 1.0e-12; y.fx('0') = 1000; y.fx('%n%') = 1.0e-12; CL.up(j) =1.4; CL_med.up(j) =1.4; y.up (j) = 1000; y_med.up (j) = 1000; gamma.up(j) = pi*0.5; gamma_med.up(j) = pi*0.5; gamma.lo(j) = 0; gamma_med.lo(j) = 0; v.lo(j) = 1.0e-12; v_med.lo(j) = 1.0e-12; y.lo(j) = 1.0e-12; y_med.lo(j) = 1.0e-12; CL.lo(j) = 0; CL_med.lo(j) =0; gamma.lo(j) = 0; gamma_med.lo(j) = 0; model brahstron1 /all/; * Invoke the LGO solver option for solving this nonlinear programming option nlp=ipopt; solve brahstron1 using nlp maximize objective; ,但我担心这太慢了。我应该是吗?

这是助手的样子:

const _port = new SerialPort(path);
const _parser = _port.pipe(new Readline({ delimiter: '\r', encoding: 'ascii' }));

const waitForData = async () => {
  return new Promise((resolve, reject) => {
    const timeoutId = setTimeout(() => reject('Write Timeout'), 500);

    _parser.once('data', (data) => {
      clearTimeout(timeoutId);
      resolve(data);
    });
  });
};

const createAPIFunction = (cmdTemplate, validationString) => {
  return async (config) => {
    try {
      // replace {key} in template with config[key] props
      const cmd = cmdTemplate.replace(/{(\w+)}/g, (_, key) => {
        return config[key];
      });

      _port.write(cmd + '\r');

      const data = await waitForData();

      // validate data
      if (data.startsWith(validationString)) {
        // is valid
        return data;
      } else {
        // invalid data
        throw new Error('Invalid Data Returned');
      }
    } catch (err) {
      throw err;
    }
  };
};

export const getFirmwareVersion = createAPIFunction('V', 'V1');
export const enableSampling = createAPIFunction('G1{scope}', 'G11');

这就是我所说的: inline_svg_helper.rb

我将如何缓存这样的内容?什么是更有效的处理方式?

0 个答案:

没有答案
相关问题