簡體   English   中英

Ragel:如何通過匹配不同的表達式來返回不同的值

[英]Ragel: How to return different values by matching different expressions

我正在尋找一個函數,它通過匹配不同表達式的輸入字符串來返回不同的整數值。

這是它的方式,但語法:

package main

func MatchType(data []byte) int {
  %% machine scanner;
  %% write data;

  cs, p, pe, eof := 0, 0, len(data), len(data)

  _ = eof

  %%{
    main := (  0..120 '-first-' ) @{ return 1 } ;
    main := ( 0..120 '-second-' ) @{ return 2 } ;

    write init;
    write exec;
  }%%

  return -1
}

有人可以請指教嗎?

  %%{

    action a1 { return 8; }
    action a2 { return 10; }

    main := ( 0..120 '-first-' $s1  | 0..120 '-second-' $s2 ) @{ return 0 } ;

    write init;
    write exec;
  }%%

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM