Tự động nhận dạng giá cuộn trong Nethack


21

OH THIÊN CHÚA KHÔNG !! Bạn không thể để chúng tôi ở đây với Doorknob! Nó sẽ được nethack ở khắp mọi nơi! - 1ngày trước bởi Geobits

Chà, không thể thất vọng ...

Giới thiệu

(bạn có thể bỏ qua phần này nếu bạn không quan tâm đến việc giải trình và / hoặc nếu bạn có Hội chứng nổ Tab )

Một trong những cơ chế đặc trưng của Nethack (và Rogue, và các trò chơi tương tự trong cùng thể loại roguelike) là hệ thống nhận dạng của nó . Khi bắt đầu trò chơi, chỉ có các vật phẩm trong kho đồ bắt đầu của bạn được "xác định chính thức". Phần lớn các đối tượng khác bắt đầu không rõ; ví dụ: "khiên phản chiếu" ban đầu sẽ hiển thị dưới dạng "khiên bạc được đánh bóng" trước khi được xác định.

Một "khiên bạc đánh bóng" chỉ có thể là một lá chắn phản chiếu , nhưng điều này có những hậu quả thú vị trong hai trường hợp khác.

  1. Một số mặt hàng khác nhau, nhưng có cùng "ngoại hình". Ví dụ: nếu bạn tìm thấy một " viên đá xám " , đó có thể là một trong bốn điều: Đá lửa (vô dụng), đá cảm ứng (có thể hữu ích), đá tải (sẽ làm bạn bị nặng nề vì nó nặng cả tấn và bạn không thể đánh rơi nó), hoặc một viên đá may mắn (cực kỳ hữu ích, gần như cần thiết để chiến thắng trò chơi).

  2. Nhiều vật phẩm (cuộn, đũa, nhẫn, sách phép thuật, một số áo giáp, v.v.) có sự xuất hiện ngẫu nhiên. Điều này có nghĩa là có một danh sách tập hợp các vẻ ngoài có thể, giả sử, potions có thể có; ví dụ: [ lọ thuốc vàng , lọ thuốc xoáy , lọ thuốc có ga , lọ thuốc màu đỏ tím , v.v.]. Những sự xuất hiện này sau đó được gán ngẫu nhiên cho những gì chúng thực sự là ( thuốc chữa bệnh , thuốc tê liệt , thuốc nhìn thấy vô hình , thuốc đa hình , v.v.).

    Điều đó có nghĩa là một bùa hộ mệnh hình lục giác có thể cứu mạng bạn trong một trò chơi (bùa hộ mệnh cứu mạng)khiến bạn nghẹt thở đến chết tiếp theo (bùa hộ mệnh) .

Đương nhiên, điều này làm cho việc xác định vật phẩm là một phần quan trọng của trò chơi. Các vật phẩm có thể được "xác định chính thức", nghĩa là chúng sẽ hiển thị rõ ràng là chắc chắn là một vật phẩm nhất định (ví dụ: tất cả các cây đũa phép bạn tìm thấy sẽ xuất hiện dưới dạng cây đũa phép của quái vật ); điều này được thực hiện chủ yếu thông qua các cuộn hoặc sách chính tả . Tuy nhiên, điển hình là những nguồn cung thiếu, đưa chúng ta đến ...

Nhận dạng không chính thức. Điều này có nghĩa là bạn khá chắc chắn (hoặc chắc chắn) rằng một mặt hàng không xác định nào đó thuộc một loại nhất định (hoặc nó chỉ có thể là một trong một số loại), nhưng bạn chưa "chính thức" xác định được nó. Điều này có thể được thực hiện thông qua một số phương pháp: thử nghiệm khắc cho đũa, thử nghiệm chìm cho các vòng hoặc phương pháp phổ biến nhất ...

biểu đồ ID giá cuộn

... nhận dạng giá ! Đó là những gì thách thức này là về.

Tóm lại, có những cửa hàng nằm khắp Dungeon của Doom (vâng, các chủ cửa hàng nghĩ rằng nên thành lập cửa hàng trong một hầm ngục dưới lòng đất; đừng hỏi tại sao). Trong các cửa hàng này, bạn có thể mua và bán các mặt hàng khác nhau mà bạn gặp trong chuyến du lịch của mình. Khi mua hoặc bán một mặt hàng, đầu tiên người bán hàng sẽ cho bạn biết anh ta sẽ bán cho bạn bao nhiêu / mua nó từ bạn. Vì một số mặt hàng nhất định được đảm bảo có giá cụ thể , bạn có thể sử dụng điều này để xác định một cách không chính thức một loại mặt hàng nhất định.

Một số vật phẩm, chẳng hạn như cuộn ánh sáng , là vật phẩm duy nhất có giá một số tiền nhất định, cho phép bạn xác định rõ ràng chúng; tuy nhiên, hầu hết các mặt hàng chia sẻ một nhóm giá với các mặt hàng khác cùng loại, điều này chỉ cho phép bạn thu hẹp các khả năng (vẫn hữu ích). Tuy nhiên, giá mua / bán của một mặt hàng bị ảnh hưởng bởi một số biến số (chẳng hạn như chỉ số Charisma của bạn ). Do đó biểu đồ trên.

Bạn có thể nói tôi thích Nethack không?

Đầu vào

Đầu vào sẽ được cung cấp dưới dạng trò chơi Nethack (vanilla, 3.4.3) hiện đang được chơi:

"For you, most gracious sir; only 177 for this scroll labeled VERR YED HORRE."
--More--

        ------------
        |          .                                        ---------
        |          |                         ----------     |    ^  |
        |          .##       ################.        +#   #.       .#
        |          | #                       |       _|#   #---------#
        |          | ###                   ##.<       |#   ####      #
        |          .#########################----------#      #      #
        ------------   ###     #         ############# #      #      #
           #             #  -----------  #             #      #   ####
         ###             ###|         |###             #      #   #----------
         #                 #.         |#             ### #    #   #|.???????|
        ##                  |         |#             #--------#   #|.??@????|
    ----.----###############.         |#             #|      |#   #-@???????|
    |.......+#              |         |#             #.      |#    ----------
    |.......|               |         .#              |      |#
    |......>|               -----------               |      +#
    ---------                                         --------


Wizard the Evoker         St:12 Dx:14 Co:11 In:16 Wi:12 Ch:10  Chaotic
Dlvl:2  $:0  HP:11(11) Pw:0(8) AC:9  Exp:1 T:11

Điều này có nghĩa là nó được đảm bảo có một số thuộc tính:

  • Nó sẽ luôn dài 24 dòng.

  • Mỗi dòng sẽ luôn có độ dài từ 80 ký tự trở xuống.

  • Dòng thứ hai đến cuối cùng sẽ bao gồm các " mã thông báo " sau: tên và tiêu đề của người chơi (dưới dạng " foo the bar "), danh sách các thuộc tính (cách nhau bởi một khoảng trắng) và căn chỉnh của người chơi ( Hợp pháp, trung lập, hoặc hỗn loạn). Mỗi mã thông báo sẽ được phân tách bằng một số lượng không gian khác nhau. 1

  • Danh sách các thuộc tính sẽ luôn là St:* Dx:* Co:* In:* Wi:* Ch:*, trong đó một *ký tự đại diện cho một số nguyên từ 3 đến 25. 2 (Điểm đáng chú ý ở đây là chỉ số cuối cùng, Charisma, mà bạn cần tính giá.)

  • Dòng đầu tiên sẽ luôn bao gồm một tin nhắn liên quan đến cửa hàng (cụ thể là tin nhắn được hiển thị khi bạn mua hoặc bán một mặt hàng). Hơn nữa, mặt hàng này được đảm bảo là một cuộn duy nhất, không xác định, không tên. Để mua một mặt hàng, đây là:

    "For you, {TITLE}; only {PRICE} for this scroll labeled {LABEL}."--More--
    

    và để bán, đó là:

    {SHK} offers {PRICE} gold pieces for your scroll labeled {LABEL}.  Sell it? [ynaq] (y)
    

    trong đó các "biến" được liệt kê trong {curly braces}là:

    • {TITLE}luôn luôn là một trong những " tốt ", " vinh dự ", " duyên dáng nhất " hoặc " quý trọng ", được kết hợp với " quý cô " hoặc " ngài ".

    • {PRICE} luôn luôn là một số nguyên.

    • {LABEL}sẽ luôn là một trong những điều sau đây ( nguồn ):

      ZELGO MER       JUYED AWK YACC  NR 9             XIXAXA XOXAXA XUXAXA
      PRATYAVAYAH     DAIYEN FOOELS   LEP GEX VEN ZEA  PRIRUTSENIE
      ELBIB YLOH      VERR YED HORRE  VENZAR BORGAVVE  THARR
      YUM YUM         KERNOD WEL      ELAM EBOW        DUAM XNAHT
      ANDOVA BEGARIN  KIRJE           VE FORBRYDERNE   HACKEM MUCHE
      VELOX NEB       FOOBIE BLETCH   TEMOV            GARVEN DEH
      READ ME
      
    • {SHK}sẽ luôn là một trong những điều sau đây ( nguồn ):

      Skibbereen      Ballingeary     Inishbofin      Annootok        Abitibi
      Kanturk         Kilgarvan       Kesh            Upernavik       Maganasipi
      Rath Luirc      Cahersiveen     Hebiwerie       Angmagssalik    Akureyri
      Ennistymon      Glenbeigh       Possogroenoe    Aklavik         Kopasker
      Lahinch         Kilmihil        Asidonhopo      Inuvik          Budereyri
      Kinnegad        Kiltamagh       Manlobbi        Tuktoyaktuk     Akranes
      Lugnaquillia    Droichead Atha  Adjama          Chicoutimi      Bordeyri
      Enniscorthy     Inniscrone      Pakka Pakka     Ouiatchouane    Holmavik
      Gweebarra       Clonegal        Kabalebo        Chibougamau     Lucrezia
      Kittamagh       Lisnaskea       Wonotobo        Matagami        Dirk
      Nenagh          Culdaff         Akalapi         Kipawa
      Sneem           Dunfanaghy      Sipaliwini      Kinojevis
      

    Thông báo này có thể được chia thành một dòng khác (nhưng nó sẽ không bao giờ chiếm quá 2 dòng). 3

  • Ngoài một vài dòng đầu tiên, tất cả các cược đều giống như phần còn lại của màn hình. Nethack sử dụng phần lớn bộ ký tự ASCII . Điều duy nhất mà bạn có thể giả định một cách an toàn là đầu vào sẽ hoàn toàn là ASCII (tuy nhiên điều này có thể không quan trọng vì dù sao bạn cũng có thể loại bỏ các dòng 3-22).

Nếu đầu vào được lấy làm đối số chức năng, nó sẽ được cung cấp chính xác như được hiển thị trong ví dụ trên (dòng mới được phân tách). Nếu bạn nhập qua STDIN, nó sẽ được cung cấp dưới dạng 24 dòng đầu vào liên tiếp (một lần nữa, như được hiển thị ở trên). Bạn có thể chọn xem bạn có muốn đầu vào có một dòng mới hay không. Đầu vào được đảm bảo không có dấu cách.

Đầu ra

Đầu ra phải được cung cấp như những gì tôi nên #namecuộn mà tôi vừa định giá. Hệ thống đặt tên tôi sử dụng (và tôi đã thấy người khác sử dụng) là:

  • Nếu cuộn được xác định rõ ràng là một cuộn nhất định (xác định, ánh sáng, vũ khí mê hoặc), #namethì đó là. Đây là trường hợp cuộn các giá cơ sở sau (bạn sẽ thấy cách tính giá cơ sở bên dưới): 20 -> xác định, 50 -> ánh sáng, 60 -> vũ khí mê hoặc.

  • Mặt khác, lấy ba chữ cái đầu tiên xuất hiện của cuộn hoặc từ đầu tiên nếu nó nhỏ hơn 3 ký tự. Ví dụ, ZELGO MERtrở thành ZEL, VE FORBRYDERNEtrở thành VE, v.v ... Ghép với giá này (một khoảng trắng và sau đó) giá cơ sở của cuộn. Ví dụ , ELB 300.

  • Nếu giá cơ sở có thể là một trong hai khả năng, tôi thường tiếp tục cố gắng mua hoặc bán mặt hàng đó cho đến khi tôi nhận được một mức giá được đưa ra rõ ràng đặt nó vào một khe giá nhất định. Tuy nhiên, bạn không thể làm điều đó trong thử thách này, vì vậy chỉ cần tách hai giá cơ bản có thể bằng dấu gạch chéo ( /). Ví dụ , HAC 60/80.

Đây là công thức để chuyển đổi giá cơ bản của một mặt hàng thành giá bạn được cung cấp để mua nó:

  • bắt đầu với giá cơ bản của mặt hàng

  • cơ hội có thể có 33% "phụ phí không xác định", được tính thông qua price += price / 3

  • một cơ hội khác của "đánh dấu kẻ hút" 33% (thực tế đây không phải là cơ hội ngẫu nhiên, nhưng với mục đích của thử thách này), đã tính theo cách tương tự

  • một sửa đổi lôi cuốn, được áp dụng như sau:

    Ch    3-5     6-7       8-10      11-15  16-17     18        19-25
    Mod   +100%   +50%      +33%      +0%    -25%      -33%      -50%
    Code  p *= 2  p += p/2  p += p/3  ---    p -= p/4  p -= p/3  p /= 2
    

Và đây là công thức cho giá cơ sở -> giá bán:

  • bắt đầu với giá cơ bản của mặt hàng

  • chia số này cho 2 hoặc 3 ("bình thường" hoặc "đánh dấu kẻ hút" tương ứng; một lần nữa, không phải ngẫu nhiên, nhưng đó là cho mục đích của thử thách này)

  • cơ hội giảm thêm 25% 4 , được tính thông quaprice -= price / 4

Phân chia là phân chia số nguyên, có nghĩa là kết quả ở mỗi bước được làm tròn xuống. (Nguồn: wiki và một chút đào mã nguồn. Đảo ngược các công thức này là công việc của bạn.)

Cuối cùng, đây là biểu đồ ASCII tiện dụng cho thấy giá mua có thể (được nhóm theo chỉ số Charisma) và giá bán của một cuộn với giá cơ bản nhất định:

Base  Ch<6          6-7          8-10         11-15        16-17        18           19-25        Sell
20    40/52/68      30/39/51     26/34/45     20/26/34     15/20/26     14/18/23     10/13/17     5/6/8/10
50    100/132/176   75/99/132    66/88/117    50/66/88     38/50/66     34/44/59     25/33/44     12/16/19/25
60    120/160/212   90/120/159   80/106/141   60/80/106    45/60/80     40/54/71     30/40/53     15/20/23/30
80    160/212/282   120/159/211  106/141/188  80/106/141   60/80/106    54/71/94     40/53/70     20/26/30/40
100   200/266/354   150/199/265  133/177/236  100/133/177  75/100/133   67/89/118    50/66/88     25/33/38/50
200   400/532/708   300/399/531  266/354/472  200/266/354  150/200/266  134/178/236  100/133/177  50/66/75/100
300   600/800/1066  450/600/799  400/533/710  300/400/533  225/300/400  200/267/356  150/200/266  75/100/113/150

(Đây là giống với biểu đồ trên wiki ngoại trừ việc nó liệt kê tất cả giá bán càng tốt, trong khi bỏ qua biểu đồ wiki để bao gồm hai trong bốn giá bán càng tốt Không, tôi không tự làm cho biểu đồ đó;. Tạo ra với kịch bản Ruby này .)

Các trường hợp thử nghiệm

Đầu vào:

"For you, honored sir; only 80 for this scroll labeled LEP GEX VEN ZEA."
--More--                   #                                          #
                      ----------------                              -----
                      |              |              ------------####+   |
      -----           |              -##############+          .#   |   |
      |   .###########|           >  |#           # |          |  ##.   |
      |   |          #------------.---#           ##.          |  # -----
      -+---          ##################             ----.-------###    #
       ####                     ###                     #       #      #
          #                     #                       #     ###      ###
          ###                 ###                       #     #          #
            #                 #                         #   ###     -----|--
       -----.---            ###                     ----+---#       |...@..|
       |       |            #                       |      |#       |???+??|
       |  <    .#          ##                     ##+      |        |+?????|
       |       |#    ------.-------                 |      |        |??]?@?|
       ---------###  |            |                 |      |        --------
            #     #  |            |                 --------
                  ###|            |                       #
                    #+            |
                     --------------

Wizard the Evoker         St:11 Dx:15 Co:9 In:20 Wi:9 Ch:11  Chaotic
Dlvl:7  $:0  HP:11(11) Pw:1(8) AC:9  Exp:1

Đầu ra: LEP 60/80


Đầu vào:

"For you, most gracious sir; only 80 for this scroll labeled DAIYEN FOOELS."
--More--                                                             #
                ------------                         -----      -------
 -----          |          |                         |   |      |     |
 |!)%|          |          |     ---------------     |   |     #-     |
 |*[@|          |          .#####|   <         |#####.   |   ###|     |
 |?(?|          ---------.--    #+             |#    |   |   #  |     |
 |[!(|                  ##       |             |#    |   +#### #.     .#
 |.@.|         ##################.             +#    ---.-     #|     |#
 ---|-                ###        ---------------#       ##     #-------#
    ##                #                    ######        #     #       #
     #              ###                         #        #     #       #
     ##             #                           #        #     #       #
  ------        #####                           #        #     #       #
  |    |       -.----                           #        #     #       #
  |    .#####  |^   |                        ####        #     #       #
  |    |    #  |    |          ----          #-----------.---- #       #------
  |    |    ###|    |          |  |          #.      >       | #       #|    |
  ------      #.    |          |  |           |              .##       #|    |
               |    |          ----           |              |         #.    |
               ------                         ----------------          ------

Wizard the Evoker         St:11 Dx:14 Co:16 In:15 Wi:10 Ch:9  Chaotic
Dlvl:6  $:0  HP:11(11) Pw:9(9) AC:9  Exp:1

Đầu ra: enchant weapon


Đầu vào:

Aklavik offers 113 gold pieces for your scroll labeled GARVEN DEH.  Sell it?
[ynaq] (y)

     -----      ------                                 ---------      -------
     |   |      |    |                         #     ##.       |      |.?)%/|
     |   |    ##.    |                       -----   # |       |      |.@!=*|
     |<  |    # |    |            #        ##.   .#####+    >  |#    #-.*?@[|
     |   .##### |    |      ------------   # | { |#    |^      |#    #|.=%)+|
     ---.-      |    |      |          .#### |   |#    ---------##   #-------
       ##       -.----     #.          |     |   |#          # ###   #
       #         ########  #|          .##   |   |#            ##    #
     ###                #  #------------ #   -----#          ####    #
     #                  #######          ##########################  #
     #                    #   #                            ###----.--#
     #                    ### #                            # #|     |#
   --.----       ########################################### #.     |#
   |     |       #----------.-#                               |     |#
   |     |       #|          |#                               -------
   |     |       #|          .#
   |     |########|          |
   -------        ------------
                   #    #
Wizard the Evoker         St:9 Dx:14 Co:11 In:19 Wi:10 Ch:12  Chaotic
Dlvl:4  $:0  HP:11(11) Pw:5(9) AC:9  Exp:1 Satiated

Đầu ra: GAR 300


Đầu vào:

"For you, good lady; only 67 for this scroll labeled VE FORBRYDERNE."--More--

                                                 -------
                                               ##|     |
  ------------                                 # |     |
  |+[!/!?%[?)|                               ### |     |          --------
  |[)(!/+]?!@|               #               #   |     |        ##+      |
  |.......@..|            --------------   ###   | <   | ##       |      |
  --------+---           #|            |   #     |     |  #       |    > |
          #            ###|            .####     --.----  ###    #-      |
          #            ###.            |           #        #  ###|      |
          #          #### ---.----------           #        ######.      |
          #          ####    ##                    #         ###  --------
          #        ####       #                    #         #
          #        ####       ########################     ###
        ###      ####                            ----+---- #
        #   #    ####                            |       .##
    ----.------####                              |  ^    |
    |         +####                              |    >  |
    |         |                                  | ^     |
    -----------                                  ---------

Wizard the Evoker         St:18 Dx:18 Co:16 In:20 Wi:20 Ch:18  Chaotic
Dlvl:4  $:150 HP:11(11) Pw:5(7) AC:9  Exp:1

Đầu ra: VE 100


Đầu vào:

Droichead Atha offers 5 gold pieces for your scroll labeled XIXAXA XOXAXA
XUXAXA.  Sell it? [ynaq] (y)
                                                ------------
                   -----                        |          .#
                   |   .### -----------        #.       {  |#
       -----       |   |  # |         |      ###|          |#
       |   .#     #.   |  # |         |      #  ---------+--#
       |   |    ###-|---    |         .##  ###          ##  #
       |   |    #   # #     |         | #  #            #   #
       |   -#####   #       |         | #### ############   #
       |>  | ##     #       ---------+-  ## -.----------    # ----------
       |   .####    ###             ## #####|          |    # |.*??/?)*|
       -----   #      #             #  #    |          |    # |@*)%!)]%|
               ###    ###         ######    |          |    # |.=)!%*!!|
                 #      #         #  #      |          |    ##+@*[%)(%?|
                 #####################      |          |      |.]?*?)%%|
                    -----+---.----##########.          |      |.%)%!!!%|
                    |            +##        ------------      ----------
                    |    <       |                  #
                    |            |
                    --------------

Wizard the Digger          St:11 Dx:9 Co:14 In:6 Wi:6 Ch:9  Lawful
Dlvl:3  $:0  HP:15(15) Pw:0(1) AC:9  Exp:1

Đầu ra: identify

(Tôi đã phải tự biên dịch Nethack với tất cả các tên chủ cửa hàng khác bị xóa vì tôi không thể tìm thấy một chủ cửa hàng có một khoảng trắng trong tên của mình ...)

Quy tắc

  • Đây là , vì vậy mã ngắn nhất tính bằng byte sẽ tăng chiến thắng.

1: điều này không nhất thiết luôn luôn đúng trong trò chơi Nethack, nhưng chúng tôi cho rằng điều này vì đơn giản.

2: một lần nữa, không phải lúc nào cũng đúng. Sức mạnh có thể là 18/01 đến 18 / **, nhưng bạn không cần phải xử lý điều đó.

3: quá mức tổng thể. Ví dụ, một chủ cửa hàng có thể gọi bạn là "cặn bã" hoặc "sinh vật nổi tiếng và linh thiêng nhất", nhưng bạn không phải xử lý bất kỳ vấn đề nào.

4: mà một người chơi thông minh có được xung quanh bằng cách liên tục cung cấp để bán vật phẩm cho đến khi được đưa ra mức giá cao hơn.


15
Bức tường thánh văn!
orlp

Câu trả lời:


10

Javascript (ES6), 1610 724 601 612 419 405 byte

a=>(b=a.match(/(\d+) (g|f).+d (\w{0,3})[\s\S]+h:(\d+)/m),c=+b[4],d=[20,50,60,80,100,200,300].map(e=>(f=e>>1,g=~~(e/3),[e,b[2]=='g'?[g-(g>>2),g,f-(f>>2),f]:[e,e+g,e+g+~~((e+g)/3)].map(h=>c<6?h*2:c<8?h+h>>1:c<11?h+~~(h/3):c<16?h:c<18?h-(h>>2):c<19?h-~~(h/3):h>>1)])).filter(i=>i[1].includes(+b[1])),j={20:'identify',50:'light',60:'enchant weapon'}[d[0][0]],k=b[3]+' '+d[0][0],d.length==1?j||k:k+'/'+d[1][0])

Bức tường lớn của văn bản, đáp ứng bức tường lớn của mã.

Bị đánh cắp

inp => (
    extraction = inp.match(/(\d+) (g|f).+d (\w{0,3})[\s\S]+h:(\d+)/m),

    charisma = +extraction[4],

    allowed = [20, 50, 60, 80, 100, 200, 300].map(base => (
        tmp1 = base >> 1,
        tmp2 = ~~(base / 3),
        [
            base,
            extraction[2] == 'g' ?
                [tmp2 - (tmp2 >> 2), tmp2, tmp1 - (tmp1 >> 2), tmp1]
            :
                [base, base + tmp2, base + tmp2 + ~~((base + tmp2) / 3)].map(val =>
                    charisma < 6 ?
                        val * 2
                    : charisma < 8 ?
                        val + val >> 1
                    : charisma < 11 ?
                        val + ~~(val / 3)
                    : charisma < 16 ?
                        val
                    : charisma < 18 ?
                        val - (val >> 2)
                    : charisma < 19 ?
                        val - ~~(val / 3)
                    : val >> 1
            )
        ]
    )).filter(key => key[1].includes(+extraction[1])),

    name_ = {
        20: 'identify',
        50: 'light',
        60: 'enchant weapon'
    }[allowed[0][0]],

    tmp3 = extraction[3] + ' ' + allowed[0][0],

    allowed.length == 1 ?
        name_ || tmp3
    :
        tmp3 + '/' + allowed[1][0]
)

Thí dụ


1
Đó là một đống kịch bản lớn.
Gây tử vong vào

1
Woah, cuối cùng ai đó đã trả lời này? Nice: D
Doorknob

@Doorknob Bạn muốn cập nhật điều này một lúc, cuối cùng cũng tìm được nó.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.