Difference between pages "Template:CodeSample" and "Historical price"
(Difference between pages)
Jump to navigation
Jump to search
(Convert to Template:Function2 format, use Template:SeeAlso/Mall Prices) |
|||
Line 1: | Line 1: | ||
− | < | + | <onlyinclude>{{{{{format|Function2}}} |
− | {{{ | + | |name=historical_price |
− | + | |function1.return_type=int | |
− | + | |function1.description=Returns the most recently seen mall price of an item without making a server request. | |
− | + | |function1.param1=shop_for | |
+ | |function1.param1.type=item | ||
+ | |function1.param1.description=Item to retrieve the price of | ||
+ | |description= | ||
+ | <p>This obeys the same restrictions as {{f|mall_price}}. Unlike {{f|mall_price}}, this function will never hit the server.</p> | ||
+ | |code1={{CodeSample | ||
+ | |title=Code Samples | ||
+ | |description=Gives you an estimate of your total mall-worth. | ||
+ | |code= | ||
+ | {{{!}} class="wikitable" | ||
+ | ! style="width: 50%" {{!}} ASH | ||
+ | ! style="width: 50%" {{!}} JavaScript | ||
+ | {{!}}- style="vertical-align: top" | ||
+ | {{!}} | ||
+ | <syntaxhighlight lang="d" line highlight="8"> | ||
+ | cli_execute( "outfit save Backup" ); | ||
+ | outfit( "birthday suit" ); | ||
+ | int [ item ] inventory = get_inventory(); | ||
+ | outfit( "Backup" ); | ||
− | + | int total; | |
− | + | foreach it in inventory { | |
− | + | total += historical_price( it ) * inventory[ it ]; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | int | ||
− | |||
− | |||
} | } | ||
− | + | string amount = to_string( total, "%,d" ); | |
− | + | print( `The estimated total mall-worth of your inventory is {amount} meat.`, "blue" ); | |
− | + | </syntaxhighlight> | |
− | + | {{!}} | |
− | " | + | <syntaxhighlight lang="js" line highlight="17"> |
− | + | const { | |
− | + | cliExecute, | |
− | </ | + | getInventory, |
− | + | historicalPrice, | |
− | {{ | + | outfit, |
− | + | print, | |
− | + | toString: formatString, | |
− | + | } = require("kolmafia"); | |
− | <syntaxhighlight lang=" | + | |
− | + | cliExecute("outfit save Backup"); | |
− | + | outfit("birthday suit"); | |
− | + | const inventory = getInventory(); | |
+ | outfit("Backup"); | ||
+ | |||
+ | let total = 0; | ||
+ | for (let itemName in inventory) { | ||
+ | total += historicalPrice(Item.get(itemName)) * inventory[itemName]; | ||
} | } | ||
− | + | // Because all JavaScript numbers are floating-point, we must format it as such | |
− | + | // and manually remove everything after the dot. | |
− | + | const amount = formatString(total, "%,f").split(".")[0]; | |
− | + | print( | |
− | + | "The estimated total mall-worth of your inventory is " + amount + " meat.", | |
− | </ | + | "blue" |
+ | ); | ||
+ | </syntaxhighlight> | ||
+ | {{!}}} | ||
+ | |moreinfo= | ||
}} | }} | ||
− | |} | + | |see_also={{SeeAlso/Mall Prices}} |
− | + | |cli_equiv= | |
− | = | + | |more_info= |
− | + | |special= | |
− | + | |{{{1|}}} | |
− | + | }}</onlyinclude> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 14:56, 31 December 2020
Function Syntax
int historical_price( item shop_for )
- Returns the most recently seen mall price of an item without making a server request.
- shop_for: Item to retrieve the price of
This obeys the same restrictions as mall_price()
. Unlike mall_price()
, this function will never hit the server.
Code Samples
Gives you an estimate of your total mall-worth.
ASH | JavaScript |
---|---|
1 cli_execute( "outfit save Backup" );
2 outfit( "birthday suit" );
3 int [ item ] inventory = get_inventory();
4 outfit( "Backup" );
5
6 int total;
7 foreach it in inventory {
8 total += historical_price( it ) * inventory[ it ];
9 }
10 string amount = to_string( total, "%,d" );
11 print( `The estimated total mall-worth of your inventory is {amount} meat.`, "blue" );
|
1 const {
2 cliExecute,
3 getInventory,
4 historicalPrice,
5 outfit,
6 print,
7 toString: formatString,
8 } = require("kolmafia");
9
10 cliExecute("outfit save Backup");
11 outfit("birthday suit");
12 const inventory = getInventory();
13 outfit("Backup");
14
15 let total = 0;
16 for (let itemName in inventory) {
17 total += historicalPrice(Item.get(itemName)) * inventory[itemName];
18 }
19 // Because all JavaScript numbers are floating-point, we must format it as such
20 // and manually remove everything after the dot.
21 const amount = formatString(total, "%,f").split(".")[0];
22 print(
23 "The estimated total mall-worth of your inventory is " + amount + " meat.",
24 "blue"
25 );
|