1
文字列がfile
で、その行の一部を削除したいとします。 delete
、replace
、gsub
、clear
などの文字列関数を使用すると、文字列変数が元の状態になります。例えば文字列の行を変更できません
:私が編集した文字列の状態を保存可能性がどのように
file
# => "#include <hidef.h> /* for EnableInterrupts macro */\r\n#include \"derivative.h\" /* include peripheral declarations */\r\n\r\n#ifdef __cplusplus\r\nextern \"C\"\r\n#endif\r\nvoid MCU_init(void); /* Device initialization function declaration */\r\n/* >> 2 <- izquierda\r\n Orden de leds 1 3 4 7\r\n 0 2 4 6\r\n -> Derecha << 2*/\r\n\r\nunsigned short i;\r\nchar time;\r\nint estado=0;\r\nint cambio=0;\r\nint izquierda;\r\nint sec1; //1= secuencia 0-2-4-6-7-5-3-1\r\n //0= secuencia 0-1-3-5-7-6-4-2\r\nvoid delay_ms(int time) {\r\n \r\n for (i = 0xFFFF; i > 0; i--)\r\n ;\r\n \r\n}\r\nvoid main(void) {\r\n MCU_init(); /* call Device Initialization */\r\n /* include your code here */\r\n PTBDD = 0XFF; //Configuración del PORTB como salida\r\n PTBD_PTBD0=1;\r\n PTCDD_PTCDD0=0; //pulsador como entrada\r\n PTCPE_PTCPE0=1; //pull-up\r\n izquierda=0;\r\n \r\n for (;;) {\r\n if (PTCD_PTCD0==0){\r\n for (time=0x0F;i>0;i--); // lo aprete\r\n while(!PTCD_PTCD0);\t//sigo apretando\r\n for (time=0x0F;i>0;i--); //lo solte\r\n apreto=0;\r\n if (sec1==1) sec1=0;\r\n else sec1=1;\r\n switch (PTBD){\r\n case 0x40:\r\n if (sec1==1){\r\n PTBD=0x80;\r\n izquierda=1;}\r\n else PTBD=PTBD >> 2;\r\n break;\r\n \r\n case 0x02:\r\n if (sec1==1){\r\n PTBD=0x01;\r\n izquierda=0;}\r\n else PTBD=PTBD << 2;\r\n break;\r\n \r\n case 0x80:\r\n if (sec1==0){\r\n PTBD=0x40;\r\n derecha=0;}\r\n else PTBD=PTBD >> 2;\r\n break;\r\n \r\n case 0x01:\r\n if (sec1==0){\r\n PTBD=0x02;\r\n derecha=1;}\r\n else PTBD=PTBD << 2;\r\n break;\r\n \r\n default:\r\n if (sec1==1){\r\n if (izquierda==0)\r\n PTBD=PTBD << 2;\r\n else\r\n PTBD=PTBD >> 2;}\r\n else\r\n if (derecha==0)\r\n PTBD=PTBD >> 2;\r\n else\r\n PTBD=PTBD << 2;\r\n break;\r\n }\r\n \r\n \r\n }\r\n }\r\n}\r\n\r\n\r\n"
file.lines[15]
# => "int cambio=0;\r\n"
file.lines[15].replace("")
# => ""
file.lines[15]
# => "int cambio=0;\r\n"
?私も他の変数を使用しようとしましたが、私は同じ結果を得ました。
OMGのthatsのは、ラインがまだ彼らの改行が含まれていることを完全に –
注意を働きます。 'lines.join(" \ r \ n ")'は各行の間に空白行を追加します。あなたは 'lines.join'を介してそれらを参加させる必要があります。 – Stefan